Change DateTimeParts to i32 - #9796
Conversation
|
@joseph-isaacs We can also process seconds and subseconds as i32 (the only issue is with days) which can give us another 2x win. The only issue is that it will change the children DTypes. |
Merging this PR will regress 2 benchmarks
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | random_i8[0.8] |
69.5 µs | 99 µs | -29.83% |
| ❌ | Simulation | decompress[u64, (4000, 1024)] |
70.8 µs | 86.2 µs | -17.81% |
| ⚡ | Simulation | random_i16[0.8] |
93.2 µs | 74.8 µs | +24.57% |
| ⚡ | Simulation | decompress[datetime_for_bp] |
193.9 µs | 156.5 µs | +23.88% |
| ⚡ | Simulation | allocate_drop_arrow[0] |
456.9 ns | 402.7 ns | +13.45% |
| ⚡ | WallTime | words_gather_scalar_avx2[1024] |
163 ns | 147 ns | +10.88% |
| ⚡ | WallTime | mul_u32_nonnull_avx512 |
6.2 µs | 5.6 µs | +10.53% |
| ⚡ | Simulation | allocate_drop_bytes[0] |
575.7 ns | 521.6 ns | +10.39% |
| 🆕 | Simulation | split[(65536, Microseconds)] |
N/A | 2.1 ms | N/A |
| 🆕 | Simulation | split[(65536, Milliseconds)] |
N/A | 2.1 ms | N/A |
| 🆕 | Simulation | split[(65536, Nanoseconds)] |
N/A | 2.1 ms | N/A |
| 🆕 | Simulation | split[(65536, Seconds)] |
N/A | 1.5 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 myrrc/datetimeparts-divisor (f2d36c1) with develop (7915813)
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. ↩
Polar Signals Profiling ResultsLatest Run
Previous Runs (12)
Powered by Polar Signals Cloud |
Benchmarks: PolarSignals Profiling 📖Commits: PR datafusion / vortex-file-compressed / ns (0.986x ➖, 0↑ 0↓)
No file size changes detected. |
Benchmarks: TPC-H SF=1 on NVME 📖Commits: PR How to read Verdict and Engines
datafusion / vortex-file-compressed / ns (1.000x ➖, 0↑ 0↓)
datafusion / parquet / ns (1.002x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed / ns (1.017x ➖, 0↑ 2↓)
duckdb / parquet / ns (1.006x ➖, 0↑ 0↓)
No file size changes detected. |
Benchmarks: FineWeb NVMe 📖Commits: PR How to read Verdict and Engines
datafusion / vortex-file-compressed / ns (0.998x ➖, 0↑ 0↓)
datafusion / parquet / ns (1.014x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed / ns (0.973x ➖, 1↑ 0↓)
duckdb / parquet / ns (1.013x ➖, 0↑ 1↓)
No file size changes detected. |
Benchmarks: Clickbench on NVME 📖Commits: PR How to read Verdict and Engines
datafusion / vortex-file-compressed / ns (1.002x ➖, 0↑ 0↓)
datafusion / parquet / ns (1.001x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed / ns (1.004x ➖, 1↑ 3↓)
duckdb / parquet / ns (1.001x ➖, 1↑ 1↓)
No file size changes detected. |
Benchmarks: TPC-DS SF=1 on NVME 📖Commits: PR How to read Verdict and Engines
datafusion / vortex-file-compressed / ns (0.999x ➖, 0↑ 0↓)
datafusion / parquet / ns (0.998x ➖, 1↑ 0↓)
duckdb / vortex-file-compressed / ns (1.000x ➖, 2↑ 3↓)
duckdb / parquet / ns (0.993x ➖, 5↑ 2↓)
No file size changes detected. |
Benchmarks: TPC-H SF=10 on NVME 📖Commits: PR How to read Verdict and Engines
datafusion / vortex-file-compressed / ns (1.005x ➖, 0↑ 0↓)
datafusion / parquet / ns (0.996x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed / ns (1.009x ➖, 0↑ 0↓)
duckdb / parquet / ns (0.997x ➖, 0↑ 0↓)
No file size changes detected. |
Benchmarks: Statistical and Population Genetics 📖Commits: PR How to read Verdict and Engines
duckdb / vortex-file-compressed / ns (1.001x ➖, 0↑ 0↓)
duckdb / parquet / ns (1.003x ➖, 0↑ 0↓)
No file size changes detected. |
Benchmarks: Compression 📖Commits: PR vortex / vortex-file-compressed / ns (0.984x ➖, 1↑ 0↓)
vortex / vortex-file-compressed / bytes (1.000x ➖, 0↑ 0↓)
vortex / vortex-file-compressed / ratio (0.990x ➖, 1↑ 0↓)
vortex / parquet / ns (0.999x ➖, 0↑ 0↓)
vortex / parquet / bytes (1.000x ➖, 0↑ 0↓)
vortex / arrow-ipc / ns (0.970x ➖, 5↑ 0↓)
vortex / arrow-ipc / bytes (1.000x ➖, 0↑ 0↓)
|
Benchmarks: Clickbench Sorted on NVME 📖Commits: PR How to read Verdict and Engines
datafusion / vortex-file-compressed / ns (0.993x ➖, 1↑ 0↓)
datafusion / parquet / ns (1.002x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed / ns (1.015x ➖, 0↑ 0↓)
duckdb / parquet / ns (0.989x ➖, 0↑ 0↓)
File Size Changes (100 files changed, -0.0% overall, 47↑ 53↓)
Totals:
|
Benchmarks: FineWeb S3 📖Commits: PR How to read Verdict and Engines
datafusion / vortex-file-compressed / ns (0.937x ➖, 1↑ 0↓)
datafusion / parquet / ns (1.042x ➖, 0↑ 1↓)
duckdb / vortex-file-compressed / ns (1.007x ➖, 0↑ 0↓)
duckdb / parquet / ns (0.957x ➖, 0↑ 0↓)
|
Benchmarks: TPC-H SF=1 on S3 📖Commits: PR How to read Verdict and Engines
datafusion / vortex-file-compressed / ns (0.929x ➖, 3↑ 2↓)
datafusion / parquet / ns (1.056x ➖, 0↑ 1↓)
duckdb / vortex-file-compressed / ns (0.992x ➖, 0↑ 1↓)
duckdb / parquet / ns (1.000x ➖, 0↑ 0↓)
|
ab9f426 to
8376bf4
Compare
Signed-off-by: Mikhail Kot <mikhail@spiraldb.com>
8376bf4 to
7385cfd
Compare
Signed-off-by: Mikhail Kot <mikhail@spiraldb.com>
Uh oh!
There was an error while loading. Please reload this page.