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

   Hybrid serialization already merges sorted table pairs with window pairs 
generated in ascending row/column order. Skip the redundant final sort of that 
merged sequence. Other flavors still sort their pairs, and serialized bytes 
remain unchanged.
   
   ### Benchmark
   
   Measured `a58f7df1809c59431fdbccf8b55973c3e1edfc79` 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 
serialization call on a prepared sketch, including output allocation and 
destruction.
   
   | Workload | Before | After | Paired speedup |
   | --- | ---: | ---: | ---: |
   | Hybrid, lg_k=10, 200 inputs | 1.374 µs | 1.320 µs | 1.04× |
   | Hybrid, lg_k=15, 8,000 inputs | 118.502 µs | 98.954 µs | 1.19× |
   | Hybrid, lg_k=15, 15,000 inputs | 192.084 µs | 163.448 µs | 1.18× |
   | Sparse, lg_k=10, 32 inputs | 0.298 µs | 0.316 µs | 0.95× |
   
   Hybrid serialization improves by about 1.04–1.19× in this matrix. The tiny 
Sparse control costs about 17 ns more (roughly 6%); no gain is claimed for 
unchanged Pinned/Sliding or update paths. Targeted checks preserve exact 
serialized fingerprints across flavors, custom seeds, unions, and wrappers. 
Latencies are sample medians; speedups are medians of paired ratios.
   


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