axiomhq/hyperloglog

Make New Public Again

jayaprabhakar opened this issue · 0 comments

The public constructors at present allow only 14 or 16 registers.

func New() *Sketch
func New14() *Sketch
func New16() *Sketch
func New16NoSparse() *Sketch

The private constructor newSketch looks like it can take between 4-18 registers, and also a flag to say sparse or normal.

Looking at the commit history, the public constructor was removed in commit dba7ba9

Do you see any fundamental issue with the reduced bases? Is it possible to allow those again?

I have a use case where I need to maintain a large number of these HLL sketches, that can tolerate a higher error rate as well. So I am planning to use just 4 or 8 registers.