Edd Robinson
a174f65595
use math/bits in HLL implementation
2017-09-26 12:51:08 +01:00
Seif Lotfy
4cb01c1768
change beta constants for the hll cardinality bias estimator
2017-06-30 07:47:16 -07:00
Seif Lotfy
643b2eb30c
Switch to LogLog-Beta Cardinality estimation
...
The new algorithm uses only one formula and needs no additional bias corrections for the entire range of cardinalities,
therefore, it is more efficient and simpler to implement. Our simulations show that the accuracy provided by the new
algorithm is as good as or better than the accuracy provided by either of HyperLogLog or HyperLogLog++. The sparse
representation was kept in to provide better low cardinality accuracy. However the linear counting and range estimations
are replaced.
2017-06-20 15:25:01 +02:00
Ben Johnson
623ff67221
Fix HLL variableLengthList size decoding.
2017-05-19 11:44:25 -06:00
Edd Robinson
1c4ecb12c1
Don't panic on nil engine
2017-03-22 10:07:29 -06:00
Stuart Carnie
0ebbfb8f77
hll: skip recalc of sparseSet if tmpSet is empty
...
```
benchmark old ns/op new ns/op delta
BenchmarkSet_Count/set_size_1000-8 38095 28.3 -99.93%
BenchmarkSet_Count/set_size_5000-8 152052 30.1 -99.98%
BenchmarkSet_Count/set_size_10000-8 50953 54978 +7.90%
BenchmarkSet_Count/set_size_50000-8 32495 31222 -3.92%
BenchmarkSet_Count/set_size_1000000-8 32603 30800 -5.53%
benchmark old allocs new allocs delta
BenchmarkSet_Count/set_size_1000-8 4 0 -100.00%
BenchmarkSet_Count/set_size_5000-8 4 0 -100.00%
BenchmarkSet_Count/set_size_10000-8 0 0 +0.00%
BenchmarkSet_Count/set_size_50000-8 0 0 +0.00%
BenchmarkSet_Count/set_size_1000000-8 0 0 +0.00%
benchmark old bytes new bytes delta
BenchmarkSet_Count/set_size_1000-8 16496 0 -100.00%
BenchmarkSet_Count/set_size_5000-8 16497 0 -100.00%
BenchmarkSet_Count/set_size_10000-8 0 0 +0.00%
BenchmarkSet_Count/set_size_50000-8 0 0 +0.00%
BenchmarkSet_Count/set_size_1000000-8 0 0 +0.00%
```
2017-01-31 08:51:05 -07:00
Edd Robinson
ab94c1b743
Fixes #7882
2017-01-30 19:12:24 +00:00
Edd Robinson
695adafc00
Add measurement sketches
2017-01-05 10:15:37 -07:00
Edd Robinson
1339c7b146
Initialise HLL with error
2017-01-05 10:15:37 -07:00
Ben Johnson
cb93f10120
Remove per-shard in-memory index.
2017-01-05 10:11:09 -07:00
Edd Robinson
e2c3b52ca4
Adds a custom HyperLogLog++ implementation
2017-01-05 10:00:14 -07:00
Edd Robinson
bd8dd9a291
Sketches working
2017-01-05 09:54:04 -07:00
Edd Robinson
d19fbf5ab4
Wire in HLL estimator
2017-01-05 09:54:03 -07:00