Commit Graph

8 Commits

Author SHA1 Message Date
Azat Khuzhin
420089c301
Add new dictionary layout (sparse_hashed) that is more memory efficient
With this new layout, sparsehash will be used over default HashMap,
sparsehash is more memory efficient but it is also slower.

So in a nutshell:
- HashMap uses ~2x more memory then sparse_hash_map
- HashMap ~2-2.5x faster then sparse_hash_map
(tested on lots of input, and the most close to production was
dictionary with 600KK hashes and UInt16 as value)

TODO:
- fix allocated memory calculation
- getBufferSizeInBytes/getBufferSizeInCells interface
- benchmarks

v0: replace HashMap with google::sparse_hash_map
v2: use google::sparse_hash_map only when <sparse> isset to true
v3: replace attributes with different layout
v4: use ch hash over std::hash
2019-09-21 02:22:40 +03:00
alesapin
b808f2e2e8 Add metric log 2019-08-16 11:19:13 +03:00
Nikita Mikhaylov
61412e7f74 changes after review + update config + resolve build fail 2019-07-23 11:22:38 +03:00
Mikhail Filimonov
e7b23d4fb2 configs for query masking rules tests 2019-07-15 16:53:16 +02:00
Alexey Milovidov
ba18308080 Merge branch 'master' into levysh-testkeeper 2019-06-16 02:45:34 +03:00
Alexey Milovidov
cd43543d50 Using testkeeper in tests 2019-06-16 02:35:12 +03:00
Ivan Lezhankin
fd6fbc9be8 Fix dict_get.sql test 2019-06-10 15:22:57 +03:00
proller
859b35e0ff docker: use configs from clickhouse-test (#5531)
* CLICKHOUSE-3887 Debian init: Service stop timeout

* clean

* clean

* docker: use configs from clickhouse-test

* clean
2019-06-05 22:22:36 +03:00