tisonkun opened a new pull request, #267: URL: https://github.com/apache/datasketches-rust/pull/267
## Summary - Make Bloom filter bit-setting operations report the previous bit state, allowing `contains_and_insert` to check membership and insert in one pass while reusing the existing `set_bits` and `set_bit` concepts. - Add a benchmark for `contains_and_insert` when all queried values are already present. - Express the Theta-family hash table resize and rebuild thresholds directly with exact integer relationships, removing the resize threshold constant and floating-point conversion from this shared Theta/Tuple code. ## Performance Measured locally with 10,000 present `u64` values per iteration: ```console cargo bench --package benchmarks --bench benchmarks -- bloom::update --min-time 3 --sample-count 30 ``` | Benchmark | `main` median | This PR median | Change | | --- | ---: | ---: | ---: | | `bloom::update::contains_and_insert_present_u64` | 220.4 µs | 161.8 µs | 26.6% lower | The Theta-family threshold change is included as a code simplification rather than as a general performance claim: 32-byte Theta and Tuple update measurements remained close to the baseline, while shorter-input results varied more noticeably. ## Validation - `cargo x check` - `cargo x test` - `cargo x lint` -- 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]
