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]
