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

   ## Summary
   
   - reject unknown or mutually exclusive T-Digest serialization flags
   - validate finite, ordered extrema and require non-empty images to store at 
least one value
   - validate centroid ordering and range membership, plus buffered-value range 
membership
   - apply equivalent structural checks to the compatibility formats
   
   ## Performance
   
   The validation loops deliberately accumulate the floating-point predicates 
and branch once after each payload. This keeps valid-state deserialization on a 
straight-line fast path.
   
   Paired Divan runs against `origin/main` on the same machine:
   
   | Benchmark | `origin/main` | This PR | Change |
   | --- | ---: | ---: | ---: |
   | `deserialize_partial_groups` (large) | 102.2 µs | 72.22 µs | -29.3% |
   | `deserialize_partial_groups` (small) | 19.2 µs | 16.06 µs | -16.4% |
   
   Allocation counts and bytes were unchanged. The speedup comes from fusing 
the former per-value NaN and finite checks into the structural validation pass; 
the main purpose of this PR remains rejecting malformed states rather than 
promising a particular performance gain.
   
   ## Validation
   
   - `cargo x prepare-testdata`
   - `cargo x check`
   - `cargo x lint`
   - `cargo x test`
   


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