Zero cost-абстракции на примере хэш-таблиц в ClickHouse С++
Доклад принят в программу конференции
Тезисы
Хэш-таблицы — это королевы структур данных. Нигде не сломано так много копий, как на оптимизации хэш-таблиц.
В своём докладе я расскажу ещё про одну хэш-таблицу, которая используется в ClickHouse.
Я покажу, как zero cost abstractions в современном С++ оправдывают себя, и как с помощью небольших трюков можно получить разнообразные структуры данных из общей кодовой базы.
На основе общих строительных блоков мы получим быстроочищаемую хэш-таблицу; несколько видов LRU-кэшей; lookup-таблицы без хэшей; хэш-таблицы для строк и т. п.
Я расскажу, как получить максимальную производительность на конкретных сценариях и как не ошибиться при её тестировании.
В моём докладе — самая мякотка низкоуровневых оптимизаций — в общем, то что мы любим.
Другие доклады секции С++
Математика и разработка быстрых TLS-хендшейков
Александр Крижановский
Tempesta Technologies
C++: темная сторона
Сергей Козлов
Лаборатория Касперского