refactor: simplify array optimizer - #9634
Conversation
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Merging this PR will improve performance by 12.51%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ⚡ | Simulation | take[duplicates/repeated/primitive/nonnull/chunks=16/indices=1000] |
245 µs | 206.9 µs | +18.44% |
| ⚡ | Simulation | compact[(2048, 90)] |
1.5 µs | 1.4 µs | +11.89% |
| ⚡ | WallTime | mul_u32_nonnull_avx512 |
6.3 µs | 5.6 µs | +11.54% |
| ⚡ | Simulation | compress_fsst[(500, 64, 4)] |
488.1 µs | 441.7 µs | +10.5% |
| ⚡ | Simulation | compress_fsst[(500, 64, 8)] |
524.9 µs | 475.5 µs | +10.39% |
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/array-optimizer-cleanup (ca662e7) 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 optimizer fixpoint and session parent-reduce dispatch without changing rule order or behavior.
Changes
Names the iteration limit and moves session-kernel dispatch into a focused helper. Session kernels still run before static parent rules and in registration order.