Comments 27
спасибо. интересное интевью
Вопрос к Роману: Вот вы говорите, что в мире мало информации, мало статей по вашим задачам. Например, про локальный атомарный HashMap — ноль статей. Читатель как-то сразу ожидает фразы "а теперь уже одна, наша". Почему вы не публикуете сами такие статьи?
Как говорится, критикуешь — предлагай, да и двигать мировую науку всегда почётно.
Как говорится, критикуешь — предлагай, да и двигать мировую науку всегда почётно.
Кроме того, в США полезно такие алгоритмы патентовать, даже если нет намерения их использовать. И научная статья может быть хорошей рекламой патента, пусть это и не основная её задача.
Прежде чем публиковать, нужно из частного технического решения вычленить общую часть и формализовать алгоритм. Это не самая простая задачка, IMHO, требующая времени и усилий.
Мы ничего не скрываем, просто писать статьи мы еще только учимся. Пока же основной формат донесения новых знания до человечества это презентации. Про HashMaps вообще я в свое время делал доклад: http://www.slideshare.net/elizarov/ss-13204837 Хороший concurrent hashmap должен быть в первый очередь быстрым при работе из одного потока и безусловно должен базироваться на тех же принципах.
А работа над более совершенными lock-free hash maps это пока еще work in progress. Это была одна из целей создания отдела исследований. Нас интересует не только теоретически корректный алгоритм, но и его правильная реализация. Даже попытки реализовать уже известные concurrent алгоритмы частенько приводят к очень тонким и труднообнаружимым багам, поэтому мы параллельно работаем над инструментами проверки корректности многопоточного кода.
А работа над более совершенными lock-free hash maps это пока еще work in progress. Это была одна из целей создания отдела исследований. Нас интересует не только теоретически корректный алгоритм, но и его правильная реализация. Даже попытки реализовать уже известные concurrent алгоритмы частенько приводят к очень тонким и труднообнаружимым багам, поэтому мы параллельно работаем над инструментами проверки корректности многопоточного кода.
Спасибо за интервью, небольшой вопрос по
Мне кажется, что при совпадении кодов таблица вытянется в список и поиск будет просто O(N), в каком случае получается квадрат?
Чтобы у тебя в худшем случае хеш-таблица не вырождалась в O(N^2)-алгоритм, а чтобы она хотя бы за O(N logN) работала.
Мне кажется, что при совпадении кодов таблица вытянется в список и поиск будет просто O(N), в каком случае получается квадрат?
O(N^2) в сумме по N операциям.
Тут, судя по всему, имеется в виду стоимость N операций. Если коды совпадают, то единичная операция над хеш-таблицей действительно будет O(N), а над деревом O(logN)
После таких новостей так и тянет почитать что-то новое для себя. Сразу же заказал книгу Херлихи и Шавита. Спасибо!
А есть где его лекции посмотреть?
я про те, что вы обсуждали — лекции студентам в ИТМО
Есть упрощенный вариант этого курса пятилетней давности:
https://www.lektorium.tv/lecture/12822
Там звук не очень, к сожалению.
yasha_somov, может, есть вариант лучше?
https://www.lektorium.tv/lecture/12822
Там звук не очень, к сожалению.
yasha_somov, может, есть вариант лучше?
Всегда было интересно, как люди, которым все время в разъездах и на конференциях успевают шагать в ногу со временем, ведь для того чтобы быть «в тренде», нужно постоянно что-то разрабатывать, а это занимает довольно много времени
А можете посоветовать какую-то хорошую книжку по математике, которая лучше написана, чем обычный учебник, которая выделяется может как-то среди среди других учебников?
Например где описаны полезные теоремы для программиста.
Заинтересовался этим в последнее время, начал с того, что изучаю пока алгоритмы сортировок подробнее, с точки зрения математика в том числе, а также графы.
Например где описаны полезные теоремы для программиста.
Заинтересовался этим в последнее время, начал с того, что изучаю пока алгоритмы сортировок подробнее, с точки зрения математика в том числе, а также графы.
Конкретная Математика — это главный сборник математики именно для программистов. Это математическая база, которая нужна для анализа алгоритмов. Но там нет самих алгоритмов. По алгоритмам мне лично очень нравится Алгоритмы: построение и анализ. Ну и Искусство Программирования Кнута, конечно.
elizarov, Роман, вы не думали сделать MOOC (ну или просто видеолекции с хорошем качестве?) по теретической части многопоточности? Тема очень интересная, и с практической точки зрения дает общее представление того, как все работает внутри. Я просмотрел 4 лекции на лекториуме (все, что было), мне очень понравился материал, пошел читать Херлихи. Но качество картинки и особенно звука лекций оставляет желать лучшего, а в ИТМО посчастливилось учиться далеко не все((
Sign up to leave a comment.
«Половина научных работ по Concurrency — полная чушь!» — интервью с Романом Елизаровым из Devexperts