refactor(runend): clarify filter implementation - #9633
Conversation
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Merging this PR will improve performance by 19.24%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ⚡ | WallTime | arrow_checked_add_u32_neon[16384] |
20.4 µs | 13.6 µs | +50.36% |
| ⚡ | WallTime | arrow_checked_add_u32_avx512[16384] |
21.3 µs | 17.6 µs | +20.52% |
| ⚡ | WallTime | words_gather_scalar_avx2[65536] |
9.5 µs | 8.3 µs | +14.58% |
| ⚡ | Simulation | cold_misaligned[(16, 64)] |
391.3 µs | 345.1 µs | +13.37% |
| ⚡ | Simulation | compress_fsst[(500, 64, 4)] |
488.1 µs | 441.6 µs | +10.52% |
| ⚡ | Simulation | compress_fsst[(500, 64, 8)] |
524.9 µs | 475.1 µs | +10.48% |
Tip
Curious why performance improved? Comment @codspeedbot explain why performance improved on this PR, or directly use the CodSpeed MCP with your agent.
Comparing ct/runend-filter-cleanup (83e5caf) with develop (ee1ac25)
Footnotes
-
106 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. ↩
-
4 benchmarks were run, but are now archived. If they were deleted in another branch, consider rebasing to remove them from the report. Instead if they were added back, click here to restore them. ↩
Summary
Cleans up RunEnd filtering without changing its selection policy or output.
Changes
Names and documents the take thresholds, clarifies the fast path and run-end reconstruction, and preserves the bulk popcount and branchless write paths. The optimized x86-64-v3 and x86-64-v4 LLVM IR and assembly were checked, and the generated filter path is identical before and after.