tisonkun opened a new pull request, #314:
URL: https://github.com/apache/datasketches-rust/pull/314

   Add `ddsketch::DdSketch` behind the `ddsketch` feature for mergeable numeric 
quantiles with relative value accuracy, useful for heavy-tailed latency 
distributions. The implementation follows the [DDSketch 
paper](https://www.vldb.org/pvldb/vol12/p2195-masson.pdf), with [Datadog's 
implementation](https://github.com/DataDog/sketches-go/tree/228b76a8e69df016726ce47579da54cffb0d0779/ddsketch)
 and the [C++ proposal](https://github.com/apache/datasketches-cpp/pull/466) as 
references.
   
   Fixed logarithmic buckets use bounded dense stores for positive and negative 
values. The default collapses the smallest numerical values to preserve 
high-quantile accuracy; callers can select highest-value collapse instead. 
`quantile_is_collapsed` identifies estimates that have lost the configured 
accuracy. The API includes integer weighted updates, compatible merging, exact 
extrema, allocation reuse, and lower discrete quantiles without losing rank 
precision above `2^53`.
   
   Subnormal values share the zero bucket and have an absolute error bound. 
Serialization uses a versioned Rust-specific format and preserves collapse 
state; it does not claim Datadog or TCK wire compatibility. Documentation, a 
distributed latency example, behavior and malformed-image tests, and 
update/merge/query/serialization benchmarks are included.
   
   Validation:
   - `cargo x check`, `cargo x test`, and `cargo x lint`.
   - DDSketch behavior and serialization tests on Rust `1.86.0`.
   - `ddsketch_latency` example.
   - DDSketch Divan benchmarks with `--sample-count 20 --min-time 0.05 
--max-time 0.2`.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to