Skip to content

Interest in replacing Hyper #1888

@DianaOlympos

Description

@DianaOlympos

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 :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions