Add BoolArray::trim_bits, wire it to Canonical::compact that prunes unused bytes in the underlying buffer - #9374
Add BoolArray::trim_bits, wire it to Canonical::compact that prunes unused bytes in the underlying buffer#9374robert3005 wants to merge 2 commits into
Performance Regression: -9.36%
⚠️ Different runtime environments detected
Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.
⚡ 2 improved benchmarks
❌ 9 regressed benchmarks
✅ 1951 untouched benchmarks
⏩ 89 skipped benchmarks1
Warning
Please fix the performance issues or acknowledge them on CodSpeed.
Performance Changes
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | decompress[u64, (10000, 4)] |
311.4 µs | 402.3 µs | -22.59% |
| ❌ | Simulation | chunked_canonicalize_into[(1000, 50, 8, 4)] |
12.9 ms | 15.1 ms | -14.08% |
| ❌ | Simulation | chunked_canonicalize_into[(1000, 50, 8, 64)] |
15.3 ms | 17.7 ms | -13.44% |
| ❌ | Simulation | chunked_into_canonical[(1000, 50, 8, 64)] |
17.1 ms | 19.5 ms | -12.58% |
| ❌ | Simulation | search_index_in_range_chunked |
5.3 ms | 6.1 ms | -12.47% |
| ❌ | Simulation | chunked_canonicalize_into[(1000, 50, 8, 16)] |
14 ms | 16 ms | -12.07% |
| ❌ | Simulation | chunked_into_canonical[(1000, 50, 8, 4)] |
14.5 ms | 16.4 ms | -11.54% |
| ❌ | Simulation | chunked_into_canonical[(1000, 50, 8, 16)] |
15.6 ms | 17.5 ms | -10.74% |
| ❌ | Simulation | decompress[u64, (1000, 16)] |
65.1 µs | 72.8 µs | -10.59% |
| ⚡ | Simulation | take[core/shuffled/primitive/nonnull/chunks=1024/indices=10000] |
14.6 ms | 13.1 ms | +11.61% |
| ⚡ | Simulation | compress_fsst[(10000, 64, 8)] |
10.8 ms | 9.7 ms | +11.12% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing rk/boolcompact (0baea1a) with develop (2d5b7e5)2
Footnotes
-
89 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. ↩
-
No successful run was found on
develop(a0a0b20) during the generation of this report, so 2d5b7e5 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩