Comments 8
Их битва будет легендарной!
Сегодня я узнал, что markdown на хабре не поддерживает align для столбиков таблицы (штуки типа --:
и :--
). Переформатировал таблицу, так вроде бы стало понятнее, хотя всё равно не очень удобно, когда числовые значения слева.
Спасибо за статью. Обратил внимание на один момент, связанный с бенчмарками. Вы в каждом тесте заполняете первые 5000 элементов из набора. Кажется, это не отражает реальные паттерны обращения к структуре. Заполняя (и считывая) 5000 элементов подряд, во-первых, вы используете память, расположенную в компактной плотной области. Это очень благоприятно для использования кэша процессора. Во-вторых, даже эту компактную область вы заполняете и считываете, двигаясь линейно вперёд. Было бы интересно посмотреть, изменится ли что-то в бенчмарках, если сделать паттерн доступа более хаотическим (что-нибудь вроде n[i] = (n[i-1]+40000)%65536).
Да, более хаотичные доступы к памяти были бы тоже хорошим кейсом для бенчмарков.
Я таких не делал, но замерял на задаче поиска пути, где операции с этой структурой не занимают 100% времени и где доступы хаотичнее. Там тоже измеримое ускорение получилось.
Предложенные бенчмарки могу попробовать и дописать их в статью чуть позже.
К каждой статье кто-то приходит и ставит минус за низкий технический уровень материала. :D
Демотивирует, конечно, но хрен с ним.
Не понятно, какого именно технического уровня не хватает.
Может быть это твой личный демон-хранитель, чтобы не расслаблялся)
Я вот человек простой, вижу статью от Искандера - ставлю плюс, потом читаю)
Предположу, минусуют те, кто не смог прочитать статью Кокса на английском и ожидал увидеть в предисловии описание на русском, что такое SparseMap и GenerationsMap.
Битва за производительность: SparseMap vs GenerationsMap