Repository navigation
perf(fsst): gather sparse takes from small arrays with large payloads - #10509
Performance Gate Passed
⚠️ 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.
⚠️ 1 benchmark measured no execution time
Nothing ran under measurement, usually because the compiler removed the code under test. This result is not comparable, so it counts as unchanged.
⚠️ 16 benchmarks spent significant time in system calls
System calls cannot be consistently instrumented, so they are not included in the measure, which understates the real cost. Please switch to the Walltime instrument to accurately measure system calls.
ℹ️ 40 benchmarks have no flame graph
The flamegraph could not be generated because we failed to resolve the symbols in the profiling trace. This happens when we fail to harvest information about language frames.
test_scan_filter_to_arrow_array[int_float]test_repeated_scan_filter[int_float]test_repeated_scan_filter[int]test_scan_filter_to_arrow_array[int]test_scan_filter[int]test_repeated_scan_to_arrow_array[int]test_repeated_scan_scalar_at[int_float]test_scan_scalar_at[int_float]test_scan_filter[int_str_float]test_scan_filter[int_float]- …and 30 more
⚠️ Different runtime environments detected
Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.
⚡ 39 improved benchmarks
✅ 2348 untouched benchmarks
⏩ 12 skipped benchmarks1
Performance Changes
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ⚡ | Simulation | take[(1000, 64, 1)] |
904 µs | 108.8 µs | ×8.3 |
| ⚡ | Simulation | take[(256, 64, 1)] |
883.5 µs | 111.4 µs | ×7.9 |
| ⚡ | Simulation | uneven_take[(16, 16384, Short)] |
753 µs | 107.5 µs | ×7 |
| ⚡ | Simulation | take[(16, 64, 1)] |
859 µs | 164 µs | ×5.2 |
| ⚡ | Simulation | take[(1000, 32, 1)] |
514.6 µs | 107.2 µs | ×4.8 |
| ⚡ | Simulation | take[(256, 32, 1)] |
471.4 µs | 110.2 µs | ×4.3 |
| ⚡ | Simulation | take[(16, 32, 1)] |
463.4 µs | 136.3 µs | ×3.4 |
| ⚡ | Simulation | take[(16, 64, 3)] |
859 µs | 273.7 µs | ×3.1 |
| ⚡ | Simulation | take[(1000, 16, 1)] |
316.2 µs | 108.1 µs | ×2.9 |
| ⚡ | Simulation | take[(256, 64, 63)] |
885.7 µs | 338.2 µs | ×2.6 |
| ⚡ | Simulation | take[(256, 16, 1)] |
277.3 µs | 109 µs | ×2.5 |
| ⚡ | Simulation | take[(1000, 64, 249)] |
912.8 µs | 378.9 µs | ×2.4 |
| ⚡ | Simulation | take[(16, 32, 3)] |
463.3 µs | 193.1 µs | ×2.4 |
| ⚡ | Simulation | uneven_take[(16, 4096, Short)] |
253.4 µs | 107.4 µs | ×2.4 |
| ⚡ | Simulation | take[(16, 16, 1)] |
263.9 µs | 121.8 µs | ×2.2 |
| ⚡ | Simulation | take[(256, 32, 63)] |
473.4 µs | 231.2 µs | ×2 |
| ⚡ | Simulation | take[(1000, 8, 1)] |
212 µs | 106.8 µs | +98.45% |
| ⚡ | Simulation | take[(1000, 32, 249)] |
523.2 µs | 272.9 µs | +91.77% |
| ⚡ | Simulation | take[(16, 16, 3)] |
263.7 µs | 150 µs | +75.84% |
| ⚡ | Simulation | uneven_take[(1, 32768, Short)] |
184 µs | 107.1 µs | +71.86% |
| ... | ... | ... | ... | ... | ... |
ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.
Tip
Curious why performance improved? Comment @codspeedbot explain why performance improved on this PR, or directly use the CodSpeed MCP with your agent.
Comparing db/fsst-byte-aware-take (75eaafa) with develop (e8167ae)
Footnotes
-
12 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. ↩