Repository navigation
Conversation
Merging this PR will degrade performance by 2.22%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | WallTime | threshold_neon[64] |
4.3 µs | 6.6 µs | -34.74% |
| ❌ | WallTime | threshold_neon[8] |
2.9 µs | 4.1 µs | -28.81% |
| ❌ | WallTime | threshold_neon[80] |
4.7 µs | 5.8 µs | -18.29% |
| ⚡ | WallTime | mul_u64_nonnull_neon |
40.4 µs | 28.4 µs | +42.04% |
| ⚡ | WallTime | multiply_shapes_neon[(32768, PerRowPerRow)] |
38.4 µs | 32.3 µs | +18.74% |
| ⚡ | WallTime | mul_i64_nonnull_neon |
38.4 µs | 32.4 µs | +18.58% |
| ⚡ | WallTime | bitpack_blocked_compress_avx2 |
7.6 µs | 6.7 µs | +12.56% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing mk/interval-dtype (3a74ca5) with mk/duration-dtype (7261620)
Footnotes
-
31 benchmarks were run, but are now archived. If they were deleted in another branch, consider rebasing to remove them from the report. Instead if they were added back, click here to restore them. ↩
677444b to
58dfb85
Compare
Signed-off-by: Matt Katz <[email protected]>
58dfb85 to
3a74ca5
Compare
|
This PR has been marked as stale because it has been open for 14 days with no activity. Please comment or remove the stale label if you wish to keep it active, otherwise it will be closed in 7 days |
|
This PR was closed because it has been inactive for 7 days since being marked as stale. |
Summary
Durationextension dtype #10467.Adds
vortex.interval, a builtin extension dtype for calendar intervals of months, days, and nanoseconds, and maps it to ArrowIntervaland DataFusionScalarValue::Interval*. It joinsAnyTemporalalongside Duration.Changes
Intervalext type invortex-array/src/extension/datetime/interval.rs: empty metadata, storageStruct { months: i32, days: i32, nanoseconds: i64 }(non-nullable fields), so each part compresses on its own. Values display as ISO 8601 with a sign per part.IntervalMonthDayNano.MonthDayNano, orYearMonth/DayTimewhen requested and no value would lose a part or precision.API Changes
TemporalMetadatagains anIntervalvariant.TemporalMetadata::time_unit()now returnsOption<TimeUnit>(Nonefor Interval).TemporalArray::new_intervalconstructor.Testing
pa.month_day_nano_interval()round trip.Open question
vortex.intervalis in no edition yet, the same open question asvortex.durationin #10467.Follow-up
Map DuckDB
INTERVAL(DuckDB compares normalized intervals, so interval comparisons should not be pushed down from DuckDB), push down interval literals from DataFusion,ts ± interval.