4 ms·
NB: Post author here. Yeah, that was one of the reasons we chose it as one of the ones to implement, seemed like that was a really interesting tradeoff, we als
by djk447 5y ago
NB: Post author here.
Yeah, that was one of the reasons we chose it as one of the ones to implement, seemed like that was a really interesting tradeoff, we also used uddsketch[1] which provides relative error guarantees, which is pretty nifty. We thought they provided different enough tradeoffs that we wanted to implement both.
[1]: https://arxiv.org/abs/1908.10693 https://arxiv.org/abs/1908.10693
- vvern 5y agoIs it using https://github.com/tvondra/tdigest https://github.com/tvondra/tdigest under the hood, or a separate implementation?
- Lockerman 5y agoa separate implementation
- mfreed 5y agoIf folks are interested: https://github.com/timescale/timescaledb-toolkit/blob/main/extension/src/tdigest.rs https://github.com/timescale/timescaledb-toolkit/blob/main/e... (The TimescaleDB Toolkit is also implemented in Rust)
- rogers18445 5y agoFacebook seems to have an even better performance implementation using sqrt. Might make sense to port that over to Rust. https://github.com/facebook/folly/blob/master/folly/stats/TDigest.h https://github.com/facebook/folly/blob/master/folly/stats/TD...
- _0ffh 5y agoHi, in an unrelated nitpick: The relative error should be calculated by dividing the error by the true value, not by it's approximation. Still, very nice writeup!
- djk447 5y agoThanks! messed up the formula but had it right in the text :( Fixed now.