C++ zero-cost abstractions на примере хеш-таблиц в ClickHouseмедленные за счет дополнительных фетчей из памяти Метод цепочек 13 13 Метод цепочек 14 14 Пример: std::unordered_map 1. Стабильность указателей на ключ, значение 2. Возможность хранить большие объекты Хеш-таблица Время ClickHouse HashMap 7.366 сек. Google DenseMap 10.089 сек. Abseil HashMap 9.011 сек. std::unordered_map 44.758 сек. Бенчмарки 28 28 perf stat -e cache-misses:u ./integer_hash_tables_and_hashes Cache misses ClickHouse HashMap 329,664,616 Google DenseMap 383,350,820 Abseil HashMap 415,869,669 std::unordered_map 1,939,811,017 Бенчмарки 29 29 http://norvig.com/21-days.html#answers Бенчмарки0 码力 | 49 页 | 2.73 MB | 1 年前3
7. UDF in ClickHouse26 Going Further Begin Content Area = 16,30 27 Inline C++ in SQL SELECT udsf(' std::string udsf(std::string s) { return "hello, " + s; } ', 'world') • Compiled and linked0 码力 | 29 页 | 1.54 MB | 1 年前3
共 2 条
- 1













