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]

Reply via email to