Hello
Just for clarity where you using HLL or HLL±? HLL+ is much better than HLL. What parameters were you using to create it?
The most likely reason for the heap usage change is the conversion from sparse mode. When an HLL is initialized it starts off in 'sparse' mode which resembles a linear counter. This gives you accurate counts at small cardinalities. As the number of elements represented by the structure grows it eventually hits a tipping point where it converts into 'normal' mode. This mode has a stable memory profile and should remain essentially flat for the lifetime of the structure regardless of how many more elements you submit.
The ideal design has that threshold work so that the memory usage pre and post conversion is about the same but that is hard to do in practice and can vary based on your configuration inputs.
HLL+ should have a less severe memory profile change from low to high cardinality sets.
Hope this helps,
Matt
--
You received this message because you are subscribed to the Google Groups "stream-lib-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to stream-lib-us...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.