mightsleep opened a new pull request, #11271:
URL: https://github.com/apache/arrow-rs/pull/11271

   # Which issue does this PR close?
   
   - Part of #11213.
   
   # Rationale for this change
   
   The `filter_bits` cases repeat one 65536-row mask, 1024 words. A recent core
   learns the per-word branches of a mask that small, so on random masks the
   cases measure a better branch predictor than a real filter gets: on the same
   build, `kept 1/2` costs 17 ns a word there and 23 ns a word on 4 Mi rows of
   fresh data (Zen 5, default target). They also have no clustered masks, as
   from a sorted or time-ordered column, where word-level code sees mostly full
   and empty words.
   
   As discussed in #11213, the benchmarks go in first so that the `compress`
   change can be measured against them.
   
   # What changes are included in this PR?
   
   `filter_bits large`, 4 Mi rows, lazy strategies only (the path that
   compresses word by word):
   
   - independent rows, kept 1/1024 to 15/16 (8 cases)
   - runs averaging 64 and 4096 rows, kept 1/8, 1/2, 7/8 (6 cases)
   
   # Are these changes tested?
   
   Benchmarks only. `cargo fmt` is clean; with criterion's defaults the new
   cases add about two minutes to the `filter_bits` bench.
   
   # Are there any user-facing changes?
   
   No.
   


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

Reply via email to