Skip to content

Conversation

@connortsui20
Copy link
Contributor

This is a mostly cosmetic change to remove the old filter compute kernels from the FilterArray implementation, placing the code in vortex-array/src/arrays/filter/execute instead of dispersed everywhere. The non-cosmetic changes are trivial, just making some things cleaner to understand.

This is based on top of #6147, which is also based on top of #6146

Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
@connortsui20 connortsui20 added the changelog/chore A trivial change label Jan 26, 2026
@codspeed-hq
Copy link

codspeed-hq bot commented Jan 26, 2026

CodSpeed Performance Report

Merging this PR will degrade performance by 20.02%

Comparing ct/refactor-filter-array (8abe15d) with ct/remove-old-filter-compute (52e8194)

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

Summary

⚡ 11 improved benchmarks
❌ 7 regressed benchmarks
✅ 1143 untouched benchmarks
⏩ 1398 skipped benchmarks1

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
WallTime u8_FoR[10M] 38.7 µs 9.2 µs ×4.2
Simulation canonical_into_non_nullable[(10000, 1, 0.1)] 58 µs 47.1 µs +23.18%
Simulation canonical_into_non_nullable[(10000, 10, 0.0)] 280.2 µs 194.2 µs +44.29%
Simulation canonical_into_non_nullable[(10000, 1, 0.01)] 42.1 µs 31.3 µs +34.41%
Simulation canonical_into_non_nullable[(10000, 10, 0.01)] 307.5 µs 221.2 µs +38.99%
Simulation canonical_into_non_nullable[(10000, 10, 0.1)] 473.1 µs 380.7 µs +24.27%
Simulation canonical_into_non_nullable[(10000, 1, 0.0)] 37.1 µs 24.8 µs +49.51%
Simulation canonical_into_nullable[(10000, 100, 0.0)] 4.3 ms 4.9 ms -12.33%
Simulation into_canonical_non_nullable[(10000, 1, 0.01)] 39.1 µs 47 µs -16.88%
Simulation into_canonical_non_nullable[(10000, 1, 0.0)] 32.9 µs 41.1 µs -20.02%
Simulation into_canonical_non_nullable[(10000, 1, 0.1)] 55.2 µs 63.6 µs -13.14%
Simulation into_canonical_non_nullable[(10000, 10, 0.0)] 282.3 µs 188.8 µs +49.5%
Simulation into_canonical_non_nullable[(10000, 10, 0.01)] 309.2 µs 216.4 µs +42.85%
Simulation into_canonical_non_nullable[(10000, 10, 0.1)] 471.6 µs 375.5 µs +25.6%
Simulation into_canonical_nullable[(10000, 10, 0.0)] 454.9 µs 538.5 µs -15.52%
Simulation into_canonical_nullable[(10000, 100, 0.0)] 4.3 ms 5.1 ms -14.61%
Simulation into_canonical_nullable[(10000, 100, 0.1)] 6.1 ms 6.9 ms -12.08%
Simulation into_canonical_nullable[(10000, 10, 0.1)] 716 µs 628.9 µs +13.85%

Footnotes

  1. 1398 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/chore A trivial change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants