-
Couldn't load subscription status.
- Fork 234
Description
Hello,
A few years ago, wanting to move Hyper to a more modern OTP (in particular, its test suite that depended on the old random module), I forked the original GameAnalytics repo.
I moved it to rebar3 (dropping a lot of the C backend in the process), then to rand, and discovered in this process that the implementation, particularly of the reduce precision used for merge of different precision sketches, was... wrong.
It could not pass its own tests.
I am pretty sure that the fork Riak is using has the same bug.
I could probably fix the bug, but to find out how to fix it, I ended up implementing a more recent way to evaluate the sketches and working, intermittently, on bringing it up to date with the past decade of research on HLL making them faster, more precise and smaller in memory and on the wire. see https://hex.pm/packages/hyper
Like I am going to work on implementing the new UltraLogLog backend that just got found https://arxiv.org/abs/2308.16862
Would there be an interest in Riak to move to using this instead of your fork? I think I can find a way to make it backward compatible with current users, so that they do not have problems and migration to do (we could probably even migrate silently), if need be.
I am asking because having an actual user would probably help me a bit get motivated to work on this, and afaict the Riak userbase is the largest one using hll in erlang these days.
If the answer is no, I get it too :)