perf: vectorize small u8 table take with AVX2 - #9572
1 benchmark regressed
⚠️ 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.
⚡ 11 improved benchmarks
❌ 1 regressed benchmark
✅ 2181 untouched benchmarks
⏩ 218 skipped benchmarks1
Warning
Please fix the performance issues or acknowledge them on CodSpeed.
Performance Changes
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | WallTime | filtered_owned_i64_avx2[OneNullInEight] |
21.9 µs | 26.8 µs | -18.4% |
| ⚡ | WallTime | dict_canonicalize_gt_u8_avx2[1000000] |
419.8 µs | 58.2 µs | ×7.2 |
| ⚡ | WallTime | dict_canonicalize_gt_u8_avx512[1000000] |
419.5 µs | 58.8 µs | ×7.1 |
| ⚡ | WallTime | dict_canonicalize_gt_u8_avx2[16000000] |
6.8 ms | 1.4 ms | ×5 |
| ⚡ | WallTime | dict_canonicalize_gt_u8_avx512[16000000] |
6.8 ms | 1.4 ms | ×5 |
| ⚡ | Simulation | decode_primitives[u8, (2000, 8)] |
43.8 µs | 33.4 µs | +30.88% |
| ⚡ | Simulation | decode_primitives[u8, (2000, 4)] |
43.8 µs | 33.4 µs | +30.88% |
| ⚡ | Simulation | decode_primitives[u8, (2000, 2)] |
43.8 µs | 33.4 µs | +30.88% |
| ⚡ | Simulation | decode_primitives[u8, (1000, 8)] |
36.3 µs | 31.5 µs | +15.07% |
| ⚡ | Simulation | decode_primitives[u8, (1000, 4)] |
36.3 µs | 31.5 µs | +15.06% |
| ⚡ | Simulation | decode_primitives[u8, (1000, 2)] |
37.1 µs | 32.3 µs | +14.69% |
| ⚡ | WallTime | words_gather_scalar_avx2[65536] |
9.4 µs | 8.3 µs | +13.35% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing ji/small-u8-table-take-avx2 (134d1c5) with ji/small-u8-table-take-neon (e97db31)
Footnotes
-
218 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. ↩