devanbenz commented on PR #10136:
URL: https://github.com/apache/arrow-rs/pull/10136#issuecomment-5817973961

   Okay so with the latest changes in #11203 which resolves the bug in our 
benchmarks the FSB bench cases are pretty much un-changed between main and this 
branch 
   
   | Bench (filter context fsb) | baseline (ns) | this branch (ns) | Δ |
   |---|--:|--:|--:|
   | len 5, kept 1/2 | 56,420 ± 883 | 62,534 ± 591 | +10.8% |
   | len 5, kept 1023/1024 | 5,575 ± 59 | 5,567 ± 33 | −0.1% |
   | len 5, kept 1/1024 | 150 ± 1 | 160 ± 6 | +6.7% |
   | len 20, kept 1/2 | 56,519 ± 494 | 62,039 ± 1,836 | +9.8% |
   | len 20, kept 1023/1024 | 43,555 ± 613 | 43,669 ± 450 | +0.3% |
   | len 20, kept 1/1024 | 173 ± 2 | 182 ± 1 | +5.2% |
   | len 50, kept 1/2 | 92,216 ± 3,214 | 94,872 ± 2,613 | +2.9% |
   | len 50, kept 1023/1024 | 113,783 ± 2,088 | 117,316 ± 4,102 | +3.1% |
   | len 50, kept 1/1024 | 147 ± 1 | 156 ± 1 | +6.1% |
   
   Seems to be noise, I ran the first case a few times with main doing better 
and sometimes this branch doing better. 
   
   Sorry to burst your performance bubble @alamb  but the `filter context fsb 
with value length` cases don't seem to stress the `filter_bits` path at all. 
Ran the benches and logged out what `nulls` was for those benchmark cases:
   
   ```
   nulls: None
   Testing filter context fsb with value length 5 (kept 1/2)
   Success
   
   Testing filter context fsb with value length 5 high selectivity (kept 
1023/1024)
   Success
   
   Testing filter context fsb with value length 5 low selectivity (kept 1/1024)
   Success
   
   nulls: None
   Testing filter context fsb with value length 20 (kept 1/2)
   Success
   
   Testing filter context fsb with value length 20 high selectivity (kept 
1023/1024)
   Success
   
   Testing filter context fsb with value length 20 low selectivity (kept 1/1024)
   Success
   
   nulls: None
   Testing filter context fsb with value length 50 (kept 1/2)
   Success
   
   Testing filter context fsb with value length 50 high selectivity (kept 
1023/1024)
   Success
   
   Testing filter context fsb with value length 50 low selectivity (kept 1/1024)
   Success
   ```
   
   nulls always look to be none so the `filter_nulls` path in 
`filter_fixed_size_binary` short circuits before this code:
   
   
https://github.com/apache/arrow-rs/blob/b89e3020d9ad6c5fc5c9e9acafc83fb21866f536/arrow-select/src/filter.rs#L1018


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