База знаний / видео

C++ zero cost abstractions на примере хеш таблиц в ClickHouse

Хеш-таблицы — это королевы структур данных. Нигде не сломано так много копий, как на оптимизации хеш-таблиц.В своем докладе я расскажу еще об одной хеш-таблице, которая используется в ClickHouse.Я покажу, как zero-cost abstractions в современном С++ оправдывают себя и как с помощью небольших трюков можно получить разнообразные структуры данных из общей кодовой базы.На основе общих строительных блоков мы получим быстроочищаемую хеш-таблицу, несколько видов LRU-кешей, lookup-таблицы без хешей, хеш-таблицы для строк и т. п.Я расскажу, как получить максимальную производительность на конкретных сценариях и как не ошибиться при ее тестировании.В моем докладе — самая мякотка низкоуровневых оптимизаций — в общем, то, что мы любим.