feat: BMI for bit filtering#10136
Conversation
|
run benchmark arrow-select |
|
Hi @devanbenz, thanks for the request (#10136 (comment)). Only whitelisted users can trigger benchmarks. Allowed users: Dandandan, Fokko, Jefffrey, Omega359, adriangb, alamb, asubiotto, brunal, buraksenn, cetra3, codephage2020, coderfender, comphead, erenavsarogullari, etseidl, friendlymatthew, gabotechs, geoffreyclaude, grtlr, haohuaijin, jonathanc-n, kevinjqliu, klion26, kosiew, kumarUjjawal, kunalsinghdadhwal, liamzwbao, mbutrovich, mkleen, mzabaluev, neilconway, rluvaton, sdf-jkl, timsaucer, xudong963, zhuqi-lucas. File an issue against this benchmark runner |
|
run benchmark arrow-select |
|
🤖 Arrow criterion benchmark running (GKE) | trigger CPU Details (lscpu)Comparing db/10098/bmi-null-bool-filter (76c7efc) to 1ba5d48 (merge-base) diff File an issue against this benchmark runner |
|
Benchmark for this request failed. Last 20 lines of output: Click to expandFile an issue against this benchmark runner |
|
run benchmark arrow_select |
|
🤖 Arrow criterion benchmark running (GKE) | trigger CPU Details (lscpu)Comparing db/10098/bmi-null-bool-filter (76c7efc) to 1ba5d48 (merge-base) diff File an issue against this benchmark runner |
|
Benchmark for this request failed. Last 20 lines of output: Click to expandFile an issue against this benchmark runner |
@alamb my apologies, the bench is called |
|
run benchmark filter_bits |
|
🤖 Arrow criterion benchmark running (GKE) | trigger CPU Details (lscpu)Comparing db/10098/bmi-null-bool-filter (76c7efc) to 1ba5d48 (merge-base) diff File an issue against this benchmark runner |
|
🤖 Arrow criterion benchmark completed (GKE) | trigger Instance: CPU Details (lscpu)New benchmark — branch-only results (no baseline comparison) Details
Resource Usagebranch
File an issue against this benchmark runner |
|
@alamb Could you please run the benchmark again but setting |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
run benchmark filter_bits env: |
|
🤖 Arrow criterion benchmark running (GKE) | trigger CPU Details (lscpu)Comparing db/10098/bmi-null-bool-filter (8e326b4) to 9f37683 (merge-base) diff File an issue against this benchmark runner |
|
🤖 Arrow criterion benchmark completed (GKE) | trigger Instance: CPU Details (lscpu)New benchmark — branch-only results (no baseline comparison) Details
Resource Usagebranch
File an issue against this benchmark runner |
|
@alamb Taking a look at the host machines. It doesn't look like the processor supports BMI2 intrinsics. So the benches are basically equal. |
|
Now that #9848 Is merged in, I'm going to merge this PR with it and move the |
|
nice |
calculation a bit.
…nbenz/arrow-rs into db/10098/bmi-null-bool-filter
adjust testing and verify correctness between the two.
…nbenz/arrow-rs into db/10098/bmi-null-bool-filter
This commit adds the ability for bit filtering to be done using the
_pext_u64BMI.In this commit we check to see if the bitmap is dense or sparse prior to performing the pext operation, if we have a dense bitmap we just fallback to the original way of filtering.
We cannot run the BMI2 feature on the benchmark host machine -- here is the benchmarks from my machine:
Specs: