You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been cooking up an algorithm inspired by GK, but built for speed. It currently achieves 11.4 million elements per second in single-thread, a 45x speedup from the number cited on this repo's README. With 8 threads it goes up to 77.0M/s (see more results here)
Initially I though about releasing it as a separate crate, but my question for you maintainers/users of this lib is whether you believe this one more quantile implementation could be added to this repo? The upside is to reduce the fragmentation of quantile crates at the cost of bloating this one lib.
What do you think?
Note: in some close future, I'd want to write up the main rationale of my approach somewhere. But it boils down mainly to:
micro-compressions: do not insert at every sample, discard them earlier instead of issuing a full compression with a regular interval as GK originally does
B-tree structure instead of Vec: to speed up insertion on arbitrary positions
I'd be very happy to have more quantile implementations in this
repository! Please do let me know if I can help inclusion in any way.
Guilherme Souza wrote on 11/19/19 1:40 PM:
Hello,
I've been cooking up an algorithm inspired by GK, but built for speed. It currently achieves 11.4 million elements per second in single-thread, a 45x speedup from the number cited on this repo's README. With 8 threads it goes up to 77.0M/s (see more results here)
Initially I though about releasing it as a separate crate, but my question for you maintainers/users of this lib is whether you believe this one more quantile implementation could be added to this repo? The upside is to reduce the fragmentation of quantile crates at the cost of bloating this one lib.
What do you think?
Note: in some close future, I'd want to write up the main rationale of my approach somewhere. But it boils down mainly to:
The memory bound is
5 / epsilon
samples.Best regards,
The text was updated successfully, but these errors were encountered: