ryux1 opened a new pull request, #276: URL: https://github.com/apache/datasketches-rust/pull/276
Closes #269. This is the focused owned-batch-merging half of #261, derived from @tisonkun's original implementation. The batch quantile API is intentionally excluded and tracked separately in #275. This change: - implements FromIterator<TDigestMut> with an owned k-way centroid merge - preserves a single non-empty input without recompression and ignores empty inputs - uses the smallest k across inputs and checks total-weight overflow - materializes and stably sorts only inputs with uncompressed tails - adds coverage for mixed k, empty/single inputs, compressed and uncompressed inputs, stable tie ordering, and overflow - adds comparison benchmarks for repeated borrowed merging and consuming collection Validation: - cargo +nightly fmt --all --check - cargo x check - cargo x lint - cargo x test - cargo test --package tests-integration --test tdigest_test (26 passed) Benchmark (100 samples, 64 partial digests): - repeated merge median: 205.1 us, 53 allocations / 234.5 KB total - FromIterator median: 58.23 us, 2 allocations / 131 KB total - uncompressed FromIterator median: 156.3 us, 2 allocations / 131 KB total Co-authored-by attribution to @tisonkun is preserved in the commit. -- 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]
