Run partial Flat random access with batched io_uring - #9416
Run partial Flat random access with batched io_uring#9416joseph-isaacs wants to merge 22 commits into
Conversation
Signed-off-by: Joseph Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joseph Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joseph Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joseph Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
3bcebb2 to
9aee715
Compare
Merging this PR will degrade performance by 9.61%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | sparse_is_constant |
559.8 µs | 891.2 µs | -37.18% |
| ❌ | Simulation | warm[(64, 256)] |
10.8 ms | 12.3 ms | -11.64% |
| ❌ | Simulation | compress_fsst[(1000, 64, 8)] |
1 ms | 1.2 ms | -11.54% |
| ❌ | Simulation | compact_sliced[(4096, 90)] |
1.6 µs | 1.8 µs | -10.89% |
| ❌ | Simulation | compress_fsst[(10000, 64, 4)] |
8.6 ms | 9.7 ms | -10.54% |
| ❌ | Simulation | compact[(4096, 90)] |
1.8 µs | 2 µs | -10.16% |
| ❌ | Simulation | compact_sliced[(16384, 90)] |
1.8 µs | 2 µs | -10.12% |
| ⚡ | Simulation | nullable_polygons_x_nullable_points |
664.9 µs | 587.2 µs | +13.24% |
| ⚡ | Simulation | nullable_polygons_90pct_x_constant_point |
548.3 µs | 487.3 µs | +12.52% |
| 🆕 | Simulation | arrow_export_100_predecoded_arrays |
N/A | 1.5 ms | N/A |
| 🆕 | Simulation | concat_100_canonical_one_row_arrays |
N/A | 131.6 µs | N/A |
| 🆕 | Simulation | container_concat_100_alprd_one_row_arrays |
N/A | 134.5 µs | N/A |
| 🆕 | Simulation | extract_100_prebuilt_arrays_to_arrow |
N/A | 5.6 ms | N/A |
| 🆕 | Simulation | rebuild_100_flat_arrays_from_resident_buffers |
N/A | 4.1 ms | N/A |
| 🆕 | Simulation | rebuild_100_flat_arrays_with_eager_leaf_decode |
N/A | 8.9 ms | N/A |
| 🆕 | Simulation | rebuild_and_extract_100_arrays_to_arrow |
N/A | 9.8 ms | N/A |
| 🆕 | Simulation | rebuild_with_eager_extract_100_arrays_to_arrow |
N/A | 10.2 ms | N/A |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing ji/partial-flat-random-access-batched-ring (6fe5a3a) with develop (b363fb7)
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. ↩
Signed-off-by: Joseph Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joseph Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joseph Isaacs <joe.isaacs@live.co.uk>
9aee715 to
91d9a93
Compare
Polar Signals Profiling ResultsLatest Run
Previous Runs (2)
Powered by Polar Signals Cloud |
Benchmarks: Random Access 📖Verdict: Likely regression (medium confidence) How to read Verdict and Engines
random-access / vortex-file-compressed / ns (1.152x ❌, 1↑ 9↓)
random-access / parquet / ns (1.001x ➖, 0↑ 0↓)
random-access / lance / ns (0.995x ➖, 0↑ 0↓)
|
Signed-off-by: Joseph Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joseph Isaacs <joe.isaacs@live.co.uk>
Summary
action/bench-random-accessworkflow to use the measured batched-ring settingsCI behavior
Applying
action/bench-random-accessruns with:Measured results
On 8 pinned cores:
The ring path strongly improves cold random access but has additional synchronization cost for page-cache-resident uniform reads. The separate blocking-control PR allows CI comparison under the same benchmark label.
Validation
cargo test -p vortex-arraycargo test -p vortex-layoutcargo test -p vortex-io --lib(109 tests)cargo clippy -p vortex-io --lib --all-features -- -D warningscargo test --doc -p vortex-io