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

   CDF and PMF currently repeat a centroid binary search for every ordered 
split point. Share a forward cursor for dense batches, while retaining binary 
search for sparse batches. Both use the existing tail, equal-mean, weight, and 
interpolation logic; the CDF loop and weight accumulation remain shared.
   
   ### Benchmark
   
   Measured `aa23deaa051e71c18beed66907f86ca23f35199e` against 
`675e3e123fda6da19657d345038252b16adc2ebb` on an isolated EC2 c7i.2xlarge (Xeon 
Platinum 8488C), Rust 1.99.1 release defaults, one process pinned to CPU 2, 
with warmup and seven alternating pairs. Each operation is a complete public 
query, including result allocation and destruction; inputs are prepared outside 
timing. These are frozen or already-compacted mutable digests, so the numbers 
exclude pending-update compression.
   
   | Frozen query workload | Before | After | Paired speedup |
   | --- | ---: | ---: | ---: |
   | CDF, 100 split points, unique input | 3.457 µs | 1.296 µs | 2.67× |
   | CDF, 512 split points, unique input | 16.851 µs | 6.378 µs | 2.64× |
   | CDF, 100 split points, repeated values | 2.968 µs | 1.328 µs | 2.23× |
   | CDF, 6 split points, unique input | 0.262 µs | 0.264 µs | 0.99× |
   | CDF, tail split points, unique input | 0.346 µs | 0.353 µs | 0.98× |
   
   The sparse and tail cases retain small costs (approximately 0–2% in this 
matrix); single-point rank stays close to baseline. Latencies are sample 
medians; speedups are medians of paired ratios. Targeted checks compare CDF 
entries bit-for-bit with individual rank queries and PMF with CDF differences, 
including repeated means, tails, signed zero, and frozen/mutable equivalence.
   


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