Skip to content

perf(arrow-array): skip DataType drop glue in generic temporal converters - #11896

Merged
Jefffrey merged 1 commit into
apache:mainfrom
mbutrovich:as-datetime-skip-drop
Oct 25, 2026
Merged

Jefffrey merged 1 commit into
apache:mainfrom
mbutrovich:as-datetime-skip-drop

Conversation

@mbutrovich

@mbutrovich mbutrovich commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Rationale for this change

The issue describes the problem.

What changes are included in this PR?

as_datetime, as_datetime_with_timezone, as_time and as_duration wrap the T::DATA_TYPE temporary in ManuallyDrop, so no drop glue runs per value. as_duration wasn't in the issue, but it has the same per-value drop.

Are these changes tested?

Existing tests cover the converters through PrimitiveArray::value_as_datetime, value_as_time and the arrow-cast timestamp casts. Behavior is unchanged.

Timestamp casts with a time zone call as_datetime_with_timezone::<T> per value. In the bot's cast_timestamp runs, casts to Date32 got 1.04x to 1.26x faster on both machines. Casts to Time32/Time64 got up to 1.10x faster on Neoverse-V2 and didn't change on Xeon.

as-datetime-drop-bot
All runs

These are speedups over main for all 20 time zone cases and the 20 cases without a time zone, which don't call the changed code. The aligned runs add -C llvm-args=-align-all-functions=6 -C llvm-args=-align-all-nofallthru-blocks=6.

Machine Run To Date32, time zone To Time32/Time64, time zone No time zone
Neoverse-V2 default 1.11x to 1.26x 1.01x to 1.10x 0.99x to 1.03x
Neoverse-V2 aligned 1.12x to 1.25x 1.02x to 1.08x 0.99x to 1.00x
Xeon 8581C default 1.04x to 1.22x 0.95x to 1.02x 0.98x to 1.02x
Xeon 8581C aligned 1.06x to 1.13x 0.96x to 1.03x 0.97x to 1.00x

On Apple M5 Max with thin LTO, local runs gave 1.10x to 1.36x for Date32 and 1.08x to 1.19x for Time32/Time64. format_temporal didn't change (0.97x to 1.00x), because formatting costs far more per value than the call this removes. I haven't profiled why Time32/Time64 doesn't gain on Xeon.

In the thin-LTO cast_timestamp binary on aarch64, drop_glue::<DataType> is no longer called from any timestamp_to_time or adjust_timestamp_to_timezone monomorphization. On x86_64, I checked a unary_opt kernel over as_datetime::<TimestampNanosecondType> before linking. It now compiles to the same 1166 instructions as the same kernel over timestamp_ns_to_datetime.

Are there any significant user-facing changes?

No.

AI Disclosure

I wrote this PR with help from Claude but understand and support the core approach, implementation, and test coverage.

@github-actions github-actions Bot added the arrow-core Core crates related to representing arrow data label Oct 24, 2026
@mbutrovich

Copy link
Copy Markdown
Contributor Author

run benchmark cast_timestamp

env:
  BENCH_FILTER: "(timezone_control|no_nulls)"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark starting (GKE) | trigger

Target: cast_timestamp

Sharding factor: 1 (1 workers).

Comparing as-datetime-skip-drop (eecee00) to 9d7f294 (merge-base) diff

Run configuration
run benchmark cast_timestamp
env:
  BENCH_FILTER: (timezone_control|no_nulls)
shards: 1

Results will be posted when all workers finish.


File an issue against this benchmark runner

@mbutrovich

Copy link
Copy Markdown
Contributor Author

run benchmark cast_timestamp

env:
  BENCH_FILTER: "(timezone_control|no_nulls)"
resources:
  arch: amd64

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark starting (GKE) | trigger

Target: cast_timestamp

Sharding factor: 1 (1 workers).

Comparing as-datetime-skip-drop (eecee00) to 9d7f294 (merge-base) diff

Run configuration
run benchmark cast_timestamp
env:
  BENCH_FILTER: (timezone_control|no_nulls)
resources:
  arch: amd64
shards: 1

Results will be posted when all workers finish.


File an issue against this benchmark runner

@mbutrovich

Copy link
Copy Markdown
Contributor Author

run benchmark cast_timestamp

env:
  BENCH_FILTER: "(timezone_control|no_nulls)"
  RUSTFLAGS: "-C llvm-args=-align-all-functions=6 -C llvm-args=-align-all-nofallthru-blocks=6"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark starting (GKE) | trigger

Target: cast_timestamp

Sharding factor: 1 (1 workers).

Comparing as-datetime-skip-drop (eecee00) to 9d7f294 (merge-base) diff

Run configuration
run benchmark cast_timestamp
env:
  BENCH_FILTER: (timezone_control|no_nulls)
  RUSTFLAGS: -C llvm-args=-align-all-functions=6 -C llvm-args=-align-all-nofallthru-blocks=6
shards: 1

Results will be posted when all workers finish.


File an issue against this benchmark runner

@mbutrovich

Copy link
Copy Markdown
Contributor Author

run benchmark cast_timestamp

env:
  BENCH_FILTER: "(timezone_control|no_nulls)"
  RUSTFLAGS: "-C llvm-args=-align-all-functions=6 -C llvm-args=-align-all-nofallthru-blocks=6"
resources:
  arch: amd64

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark starting (GKE) | trigger

Target: cast_timestamp

Sharding factor: 1 (1 workers).

Comparing as-datetime-skip-drop (eecee00) to 9d7f294 (merge-base) diff

Run configuration
run benchmark cast_timestamp
env:
  BENCH_FILTER: (timezone_control|no_nulls)
  RUSTFLAGS: -C llvm-args=-align-all-functions=6 -C llvm-args=-align-all-nofallthru-blocks=6
resources:
  arch: amd64
shards: 1

Results will be posted when all workers finish.


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Target: cast_timestamp

Comparing as-datetime-skip-drop (eecee00) to 9d7f294 (merge-base) diff

Run configuration
run benchmark cast_timestamp
env:
  BENCH_FILTER: (timezone_control|no_nulls)
  RUSTFLAGS: -C llvm-args=-align-all-functions=6 -C llvm-args=-align-all-nofallthru-blocks=6
resources:
  arch: amd64
shards: 1
Details
group                                      base                                     changed
-----                                      ----                                     -------
timestamp_ms/date32/no_nulls               1.00      7.7±0.16µs 1018.1 MElem/sec    1.00      7.7±0.08µs 1014.4 MElem/sec
timestamp_ms/date32/timezone_control       1.13    134.4±0.64µs 58.1 MElem/sec      1.00    118.6±0.96µs 65.9 MElem/sec
timestamp_ms/time32_ms/no_nulls            1.00      6.0±0.03µs 1300.6 MElem/sec    1.00      6.0±0.06µs 1295.2 MElem/sec
timestamp_ms/time32_ms/timezone_control    1.00     96.4±0.57µs 81.1 MElem/sec      1.01     97.1±0.98µs 80.4 MElem/sec
timestamp_ms/time32_s/no_nulls             1.00      7.6±0.07µs 1025.4 MElem/sec    1.00      7.7±0.08µs 1021.2 MElem/sec
timestamp_ms/time32_s/timezone_control     1.00     94.5±0.83µs 82.7 MElem/sec      1.00     94.2±0.47µs 82.9 MElem/sec
timestamp_ms/time64_ns/no_nulls            1.00      6.4±0.05µs 1224.2 MElem/sec    1.01      6.4±0.10µs 1217.8 MElem/sec
timestamp_ms/time64_ns/timezone_control    1.00     97.7±1.17µs 80.0 MElem/sec      1.00     97.5±0.87µs 80.1 MElem/sec
timestamp_ms/time64_us/no_nulls            1.00      6.4±0.01µs 1229.5 MElem/sec    1.01      6.4±0.07µs 1221.1 MElem/sec
timestamp_ms/time64_us/timezone_control    1.00     96.5±0.52µs 81.0 MElem/sec      1.02     98.4±1.03µs 79.4 MElem/sec
timestamp_ns/date32/no_nulls               1.00      6.1±0.06µs 1276.8 MElem/sec    1.00      6.1±0.04µs 1274.4 MElem/sec
timestamp_ns/date32/timezone_control       1.10    135.0±1.34µs 57.9 MElem/sec      1.00    123.2±1.06µs 63.4 MElem/sec
timestamp_ns/time32_ms/no_nulls            1.00      7.8±0.11µs 1000.1 MElem/sec    1.00      7.8±0.07µs 1004.0 MElem/sec
timestamp_ns/time32_ms/timezone_control    1.00     93.9±1.29µs 83.2 MElem/sec      1.03     96.3±0.50µs 81.1 MElem/sec
timestamp_ns/time32_s/no_nulls             1.00      8.2±0.04µs 950.0 MElem/sec     1.00      8.3±0.08µs 945.5 MElem/sec
timestamp_ns/time32_s/timezone_control     1.00     91.0±0.39µs 85.9 MElem/sec      1.03     93.7±0.29µs 83.4 MElem/sec
timestamp_ns/time64_ns/no_nulls            1.00      6.1±0.07µs 1286.5 MElem/sec    1.00      6.1±0.01µs 1287.0 MElem/sec
timestamp_ns/time64_ns/timezone_control    1.00     93.8±0.84µs 83.3 MElem/sec      1.02     95.8±0.66µs 81.6 MElem/sec
timestamp_ns/time64_us/no_nulls            1.00      8.2±0.04µs 948.5 MElem/sec     1.00      8.2±0.08µs 947.0 MElem/sec
timestamp_ns/time64_us/timezone_control    1.00     93.8±0.84µs 83.3 MElem/sec      1.04     97.4±1.48µs 80.2 MElem/sec
timestamp_s/date32/no_nulls                1.00      7.6±0.05µs 1022.2 MElem/sec    1.00      7.6±0.07µs 1021.8 MElem/sec
timestamp_s/date32/timezone_control        1.07    115.4±1.48µs 67.7 MElem/sec      1.00    108.2±0.67µs 72.2 MElem/sec
timestamp_s/time32_ms/no_nulls             1.00      6.4±0.02µs 1223.2 MElem/sec    1.03      6.6±0.47µs 1190.6 MElem/sec
timestamp_s/time32_ms/timezone_control     1.03     79.3±0.35µs 98.5 MElem/sec      1.00     77.0±0.40µs 101.5 MElem/sec
timestamp_s/time32_s/no_nulls              1.00      6.0±0.03µs 1302.0 MElem/sec    1.01      6.1±0.10µs 1291.2 MElem/sec
timestamp_s/time32_s/timezone_control      1.02     77.8±0.57µs 100.4 MElem/sec     1.00     76.3±0.41µs 102.3 MElem/sec
timestamp_s/time64_ns/no_nulls             1.00      6.4±0.06µs 1220.7 MElem/sec    1.00      6.4±0.08µs 1220.5 MElem/sec
timestamp_s/time64_ns/timezone_control     1.02     79.2±1.50µs 98.7 MElem/sec      1.00     77.9±0.40µs 100.2 MElem/sec
timestamp_s/time64_us/no_nulls             1.00      6.4±0.18µs 1220.3 MElem/sec    1.01      6.5±0.02µs 1205.1 MElem/sec
timestamp_s/time64_us/timezone_control     1.03     80.5±2.99µs 97.0 MElem/sec      1.00     77.9±0.40µs 100.3 MElem/sec
timestamp_us/date32/no_nulls               1.00      6.1±0.11µs 1273.9 MElem/sec    1.01      6.2±0.07µs 1267.4 MElem/sec
timestamp_us/date32/timezone_control       1.06    132.3±1.02µs 59.0 MElem/sec      1.00    125.2±1.22µs 62.4 MElem/sec
timestamp_us/time32_ms/no_nulls            1.00      8.3±0.24µs 939.4 MElem/sec     1.00      8.3±0.15µs 943.5 MElem/sec
timestamp_us/time32_ms/timezone_control    1.00     92.9±0.38µs 84.1 MElem/sec      1.04     96.8±0.52µs 80.7 MElem/sec
timestamp_us/time32_s/no_nulls             1.00      7.8±0.13µs 1001.7 MElem/sec    1.00      7.8±0.11µs 998.5 MElem/sec
timestamp_us/time32_s/timezone_control     1.00     90.9±1.18µs 86.0 MElem/sec      1.03     93.9±0.80µs 83.2 MElem/sec
timestamp_us/time64_ns/no_nulls            1.00      6.5±0.06µs 1210.2 MElem/sec    1.00      6.5±0.06µs 1210.8 MElem/sec
timestamp_us/time64_ns/timezone_control    1.00     93.0±1.59µs 84.0 MElem/sec      1.04     97.0±0.99µs 80.6 MElem/sec
timestamp_us/time64_us/no_nulls            1.00      6.1±0.02µs 1288.9 MElem/sec    1.00      6.1±0.17µs 1285.5 MElem/sec
timestamp_us/time64_us/timezone_control    1.00     93.5±1.67µs 83.6 MElem/sec      1.03     96.1±0.67µs 81.3 MElem/sec

Per-runner information
cast_timestamp — shard 1/1

Node: gk3-benchmark-cluster-nap-1tkeimc9-23b6a6b7-7fvl

Instance: c4-highmem-16 (12 vCPU / 65 GiB)

uname:

Linux bench-c6385593199-3837-vp6rq 6.12.105+ #1 SMP Sat Sep  5 07:57:24 UTC 2026 x86_64 GNU/Linux

BENCH_COMMAND:

cargo bench --features=arrow,async,test_common,experimental,object_store --bench cast_timestamp
CPU Details (lscpu)
Architecture:                            x86_64
CPU op-mode(s):                          32-bit, 64-bit
Address sizes:                           52 bits physical, 57 bits virtual
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               GenuineIntel
Model name:                              INTEL(R) XEON(R) PLATINUM 8581C CPU @ 2.30GHz
CPU family:                              6
Model:                                   207
Thread(s) per core:                      2
Core(s) per socket:                      8
Socket(s):                               1
Stepping:                                2
BogoMIPS:                                4600.00
Flags:                                   fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves avx_vnni avx512_bf16 wbnoinvd arat avx512vbmi umip avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid cldemote movdiri movdir64b fsrm md_clear serialize tsxldtrk amx_bf16 avx512_fp16 amx_tile amx_int8 arch_capabilities
Hypervisor vendor:                       KVM
Virtualization type:                     full
L1d cache:                               384 KiB (8 instances)
L1i cache:                               256 KiB (8 instances)
L2 cache:                                16 MiB (8 instances)
L3 cache:                                260 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; Enhanced / Automatic IBRS; IBPB conditional; PBRSB-eIBRS SW sequence; BHI BHI_DIS_S
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Resource Usage

base (merge-base)

Metric Value
Wall time 370.1s
Peak memory 17.2 MiB
Avg memory 16.5 MiB
CPU user 365.2s
CPU sys 0.0s
Peak spill 0 B

branch

Metric Value
Wall time 365.1s
Peak memory 17.3 MiB
Avg memory 16.7 MiB
CPU user 359.4s
CPU sys 0.0s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Target: cast_timestamp

Comparing as-datetime-skip-drop (eecee00) to 9d7f294 (merge-base) diff

Run configuration
run benchmark cast_timestamp
env:
  BENCH_FILTER: (timezone_control|no_nulls)
resources:
  arch: amd64
shards: 1
Details
group                                      base                                     changed
-----                                      ----                                     -------
timestamp_ms/date32/no_nulls               1.01      8.2±0.16µs 948.7 MElem/sec     1.00      8.2±0.16µs 956.2 MElem/sec
timestamp_ms/date32/timezone_control       1.04    142.9±2.41µs 54.7 MElem/sec      1.00    137.1±2.50µs 57.0 MElem/sec
timestamp_ms/time32_ms/no_nulls            1.00      6.6±0.07µs 1192.6 MElem/sec    1.01      6.6±0.33µs 1175.3 MElem/sec
timestamp_ms/time32_ms/timezone_control    1.00    102.1±3.79µs 76.5 MElem/sec      1.03    104.9±3.55µs 74.5 MElem/sec
timestamp_ms/time32_s/no_nulls             1.00      7.9±0.18µs 986.0 MElem/sec     1.02      8.1±0.30µs 970.4 MElem/sec
timestamp_ms/time32_s/timezone_control     1.00    100.1±2.74µs 78.0 MElem/sec      1.04    103.8±1.66µs 75.3 MElem/sec
timestamp_ms/time64_ns/no_nulls            1.00      6.8±0.14µs 1149.3 MElem/sec    1.00      6.8±0.18µs 1151.0 MElem/sec
timestamp_ms/time64_ns/timezone_control    1.00    101.4±2.59µs 77.0 MElem/sec      1.05    106.3±3.05µs 73.5 MElem/sec
timestamp_ms/time64_us/no_nulls            1.01      6.8±0.26µs 1143.9 MElem/sec    1.00      6.8±0.11µs 1150.9 MElem/sec
timestamp_ms/time64_us/timezone_control    1.00    102.1±3.31µs 76.5 MElem/sec      1.03    105.5±2.02µs 74.0 MElem/sec
timestamp_ns/date32/no_nulls               1.01      6.4±0.05µs 1220.6 MElem/sec    1.00      6.4±0.07µs 1228.0 MElem/sec
timestamp_ns/date32/timezone_control       1.22    142.7±1.23µs 54.8 MElem/sec      1.00    116.9±2.32µs 66.8 MElem/sec
timestamp_ns/time32_ms/no_nulls            1.00      8.2±0.13µs 947.5 MElem/sec     1.01      8.3±0.18µs 941.7 MElem/sec
timestamp_ns/time32_ms/timezone_control    1.00     99.6±1.53µs 78.4 MElem/sec      1.02    102.0±3.94µs 76.6 MElem/sec
timestamp_ns/time32_s/no_nulls             1.00      8.8±0.08µs 884.5 MElem/sec     1.01      8.9±0.13µs 879.3 MElem/sec
timestamp_ns/time32_s/timezone_control     1.02     99.3±2.28µs 78.7 MElem/sec      1.00     97.2±1.39µs 80.4 MElem/sec
timestamp_ns/time64_ns/no_nulls            1.00      6.6±0.15µs 1189.2 MElem/sec    1.02      6.7±0.40µs 1163.7 MElem/sec
timestamp_ns/time64_ns/timezone_control    1.00    100.7±2.52µs 77.6 MElem/sec      1.01    101.8±3.13µs 76.8 MElem/sec
timestamp_ns/time64_us/no_nulls            1.00      9.0±0.44µs 872.0 MElem/sec     1.00      8.9±0.25µs 873.3 MElem/sec
timestamp_ns/time64_us/timezone_control    1.00     99.8±1.79µs 78.3 MElem/sec      1.01    100.9±1.09µs 77.4 MElem/sec
timestamp_s/date32/no_nulls                1.01      8.3±0.33µs 939.4 MElem/sec     1.00      8.2±0.17µs 950.8 MElem/sec
timestamp_s/date32/timezone_control        1.14    123.2±2.20µs 63.4 MElem/sec      1.00    107.8±5.39µs 72.5 MElem/sec
timestamp_s/time32_ms/no_nulls             1.00      6.8±0.11µs 1155.1 MElem/sec    1.00      6.8±0.07µs 1155.4 MElem/sec
timestamp_s/time32_ms/timezone_control     1.02     85.4±0.99µs 91.5 MElem/sec      1.00     83.8±0.53µs 93.3 MElem/sec
timestamp_s/time32_s/no_nulls              1.00      6.5±0.07µs 1194.2 MElem/sec    1.00      6.6±0.12µs 1188.4 MElem/sec
timestamp_s/time32_s/timezone_control      1.00     82.5±2.53µs 94.7 MElem/sec      1.02     83.9±3.33µs 93.1 MElem/sec
timestamp_s/time64_ns/no_nulls             1.00      6.8±0.11µs 1153.8 MElem/sec    1.00      6.8±0.07µs 1154.8 MElem/sec
timestamp_s/time64_ns/timezone_control     1.00     83.8±2.49µs 93.3 MElem/sec      1.01     84.9±0.92µs 92.0 MElem/sec
timestamp_s/time64_us/no_nulls             1.00      6.8±0.17µs 1154.3 MElem/sec    1.02      6.9±0.07µs 1127.3 MElem/sec
timestamp_s/time64_us/timezone_control     1.02     86.0±0.93µs 90.9 MElem/sec      1.00     84.5±0.73µs 92.5 MElem/sec
timestamp_us/date32/no_nulls               1.00      6.4±0.16µs 1217.9 MElem/sec    1.00      6.4±0.07µs 1221.7 MElem/sec
timestamp_us/date32/timezone_control       1.19    141.2±1.62µs 55.3 MElem/sec      1.00    119.0±2.06µs 65.7 MElem/sec
timestamp_us/time32_ms/no_nulls            1.00      8.8±0.06µs 886.3 MElem/sec     1.02      9.0±0.34µs 870.8 MElem/sec
timestamp_us/time32_ms/timezone_control    1.00     99.6±1.12µs 78.5 MElem/sec      1.03    102.1±5.53µs 76.5 MElem/sec
timestamp_us/time32_s/no_nulls             1.00      8.3±0.15µs 946.2 MElem/sec     1.00      8.3±0.20µs 943.0 MElem/sec
timestamp_us/time32_s/timezone_control     1.00     98.3±1.43µs 79.5 MElem/sec      1.01     99.4±0.91µs 78.6 MElem/sec
timestamp_us/time64_ns/no_nulls            1.00      6.7±0.06µs 1158.0 MElem/sec    1.01      6.8±0.17µs 1145.4 MElem/sec
timestamp_us/time64_ns/timezone_control    1.00     99.9±1.01µs 78.2 MElem/sec      1.01    100.8±1.48µs 77.5 MElem/sec
timestamp_us/time64_us/no_nulls            1.01      6.7±0.37µs 1172.3 MElem/sec    1.00      6.6±0.17µs 1186.7 MElem/sec
timestamp_us/time64_us/timezone_control    1.02    102.4±1.40µs 76.3 MElem/sec      1.00    100.3±1.27µs 77.9 MElem/sec

Per-runner information
cast_timestamp — shard 1/1

Node: gk3-benchmark-cluster-nap-1tkeimc9-780c1e5a-slsv

Instance: c4-highmem-16 (12 vCPU / 65 GiB)

uname:

Linux bench-c6385591167-3835-j9kkd 6.12.105+ #1 SMP Sat Sep  5 07:57:24 UTC 2026 x86_64 GNU/Linux

BENCH_COMMAND:

cargo bench --features=arrow,async,test_common,experimental,object_store --bench cast_timestamp
CPU Details (lscpu)
Architecture:                            x86_64
CPU op-mode(s):                          32-bit, 64-bit
Address sizes:                           52 bits physical, 57 bits virtual
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               GenuineIntel
Model name:                              INTEL(R) XEON(R) PLATINUM 8581C CPU @ 2.30GHz
CPU family:                              6
Model:                                   207
Thread(s) per core:                      2
Core(s) per socket:                      8
Socket(s):                               1
Stepping:                                2
BogoMIPS:                                4600.00
Flags:                                   fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves avx_vnni avx512_bf16 wbnoinvd arat avx512vbmi umip avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid cldemote movdiri movdir64b fsrm md_clear serialize tsxldtrk amx_bf16 avx512_fp16 amx_tile amx_int8 arch_capabilities
Hypervisor vendor:                       KVM
Virtualization type:                     full
L1d cache:                               384 KiB (8 instances)
L1i cache:                               256 KiB (8 instances)
L2 cache:                                16 MiB (8 instances)
L3 cache:                                260 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; Enhanced / Automatic IBRS; IBPB conditional; PBRSB-eIBRS SW sequence; BHI BHI_DIS_S
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Resource Usage

base (merge-base)

Metric Value
Wall time 370.1s
Peak memory 16.0 MiB
Avg memory 15.5 MiB
CPU user 367.2s
CPU sys 0.0s
Peak spill 0 B

branch

Metric Value
Wall time 370.1s
Peak memory 16.0 MiB
Avg memory 15.6 MiB
CPU user 367.4s
CPU sys 0.0s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Target: cast_timestamp

Comparing as-datetime-skip-drop (eecee00) to 9d7f294 (merge-base) diff

Run configuration
run benchmark cast_timestamp
env:
  BENCH_FILTER: (timezone_control|no_nulls)
shards: 1
Details
group                                      base                                     changed
-----                                      ----                                     -------
timestamp_ms/date32/no_nulls               1.00     10.4±0.00µs 752.5 MElem/sec     1.00     10.4±0.00µs 752.6 MElem/sec
timestamp_ms/date32/timezone_control       1.11    205.3±0.43µs 38.1 MElem/sec      1.00    184.2±0.72µs 42.4 MElem/sec
timestamp_ms/time32_ms/no_nulls            1.00      7.9±0.00µs 988.0 MElem/sec     1.00      7.9±0.00µs 988.9 MElem/sec
timestamp_ms/time32_ms/timezone_control    1.10    127.7±0.16µs 61.2 MElem/sec      1.00    116.3±0.08µs 67.2 MElem/sec
timestamp_ms/time32_s/no_nulls             1.01      8.4±0.01µs 928.4 MElem/sec     1.00      8.4±0.01µs 933.9 MElem/sec
timestamp_ms/time32_s/timezone_control     1.06    123.0±0.22µs 63.5 MElem/sec      1.00    115.6±0.08µs 67.6 MElem/sec
timestamp_ms/time64_ns/no_nulls            1.00      7.0±0.03µs 1119.6 MElem/sec    1.00      6.9±0.00µs 1124.9 MElem/sec
timestamp_ms/time64_ns/timezone_control    1.07    125.5±0.24µs 62.2 MElem/sec      1.00    117.3±0.11µs 66.6 MElem/sec
timestamp_ms/time64_us/no_nulls            1.00      7.0±0.01µs 1110.7 MElem/sec    1.00      7.1±0.01µs 1107.9 MElem/sec
timestamp_ms/time64_us/timezone_control    1.07    126.8±0.15µs 61.6 MElem/sec      1.00    119.0±0.08µs 65.6 MElem/sec
timestamp_ns/date32/no_nulls               1.00      9.3±0.00µs 842.2 MElem/sec     1.00      9.3±0.00µs 843.1 MElem/sec
timestamp_ns/date32/timezone_control       1.26    199.1±0.31µs 39.2 MElem/sec      1.00    158.6±0.52µs 49.3 MElem/sec
timestamp_ns/time32_ms/no_nulls            1.00      7.7±0.01µs 1012.7 MElem/sec    1.00      7.7±0.01µs 1010.9 MElem/sec
timestamp_ns/time32_ms/timezone_control    1.03    122.9±0.13µs 63.5 MElem/sec      1.00    119.4±0.07µs 65.4 MElem/sec
timestamp_ns/time32_s/no_nulls             1.00      8.8±0.01µs 884.7 MElem/sec     1.00      8.8±0.02µs 887.9 MElem/sec
timestamp_ns/time32_s/timezone_control     1.02    118.9±0.10µs 65.7 MElem/sec      1.00    116.1±0.08µs 67.3 MElem/sec
timestamp_ns/time64_ns/no_nulls            1.00      8.0±0.00µs 972.3 MElem/sec     1.00      8.0±0.00µs 973.4 MElem/sec
timestamp_ns/time64_ns/timezone_control    1.03    120.8±0.07µs 64.7 MElem/sec      1.00    116.9±0.24µs 66.8 MElem/sec
timestamp_ns/time64_us/no_nulls            1.00      8.8±0.01µs 887.9 MElem/sec     1.00      8.8±0.02µs 891.0 MElem/sec
timestamp_ns/time64_us/timezone_control    1.01    122.3±0.14µs 63.9 MElem/sec      1.00    121.3±0.27µs 64.4 MElem/sec
timestamp_s/date32/no_nulls                1.00     10.4±0.01µs 752.7 MElem/sec     1.00     10.4±0.00µs 753.4 MElem/sec
timestamp_s/date32/timezone_control        1.23    181.5±0.26µs 43.0 MElem/sec      1.00    147.6±0.31µs 52.9 MElem/sec
timestamp_s/time32_ms/no_nulls             1.00      7.7±0.01µs 1016.3 MElem/sec    1.00      7.7±0.00µs 1012.9 MElem/sec
timestamp_s/time32_ms/timezone_control     1.09    107.8±0.20µs 72.5 MElem/sec      1.00     99.1±0.28µs 78.8 MElem/sec
timestamp_s/time32_s/no_nulls              1.00      7.9±0.00µs 988.4 MElem/sec     1.00      7.9±0.00µs 988.6 MElem/sec
timestamp_s/time32_s/timezone_control      1.06    104.8±0.32µs 74.6 MElem/sec      1.00     98.4±0.30µs 79.4 MElem/sec
timestamp_s/time64_ns/no_nulls             1.00      7.0±0.00µs 1121.3 MElem/sec    1.00      7.0±0.01µs 1122.3 MElem/sec
timestamp_s/time64_ns/timezone_control     1.07    106.1±0.14µs 73.7 MElem/sec      1.00     99.6±0.08µs 78.5 MElem/sec
timestamp_s/time64_us/no_nulls             1.01      7.0±0.04µs 1108.3 MElem/sec    1.00      6.9±0.01µs 1124.8 MElem/sec
timestamp_s/time64_us/timezone_control     1.08    107.4±0.17µs 72.8 MElem/sec      1.00     99.5±0.16µs 78.5 MElem/sec
timestamp_us/date32/no_nulls               1.00      9.3±0.00µs 842.3 MElem/sec     1.00      9.3±0.00µs 842.7 MElem/sec
timestamp_us/date32/timezone_control       1.26    199.9±0.26µs 39.1 MElem/sec      1.00    159.1±0.35µs 49.1 MElem/sec
timestamp_us/time32_ms/no_nulls            1.04      9.2±0.02µs 850.9 MElem/sec     1.00      8.9±0.01µs 881.4 MElem/sec
timestamp_us/time32_ms/timezone_control    1.03    124.3±0.14µs 62.8 MElem/sec      1.00    120.4±0.20µs 64.9 MElem/sec
timestamp_us/time32_s/no_nulls             1.00      7.8±0.01µs 1001.5 MElem/sec    1.00      7.8±0.02µs 1006.1 MElem/sec
timestamp_us/time32_s/timezone_control     1.03    120.3±0.28µs 65.0 MElem/sec      1.00    116.9±0.07µs 66.8 MElem/sec
timestamp_us/time64_ns/no_nulls            1.00      7.0±0.01µs 1111.1 MElem/sec    1.00      7.0±0.01µs 1109.9 MElem/sec
timestamp_us/time64_ns/timezone_control    1.03    122.1±0.13µs 64.0 MElem/sec      1.00    119.0±0.21µs 65.6 MElem/sec
timestamp_us/time64_us/no_nulls            1.00      8.0±0.00µs 972.3 MElem/sec     1.00      8.0±0.00µs 972.9 MElem/sec
timestamp_us/time64_us/timezone_control    1.06    123.6±0.16µs 63.2 MElem/sec      1.00    116.9±0.13µs 66.9 MElem/sec

Per-runner information
cast_timestamp — shard 1/1

Node: gk3-benchmark-cluster-nap-3koj4ru6-4fd0bf1d-bm9x

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

uname:

Linux bench-c6385590088-3834-w6n4t 6.12.105+ #1 SMP Sat Sep  5 07:54:11 UTC 2026 aarch64 GNU/Linux

BENCH_COMMAND:

cargo bench --features=arrow,async,test_common,experimental,object_store --bench cast_timestamp
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Resource Usage

base (merge-base)

Metric Value
Wall time 385.1s
Peak memory 15.0 MiB
Avg memory 14.5 MiB
CPU user 380.3s
CPU sys 0.0s
Peak spill 0 B

branch

Metric Value
Wall time 385.1s
Peak memory 14.9 MiB
Avg memory 14.4 MiB
CPU user 379.4s
CPU sys 0.0s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Target: cast_timestamp

Comparing as-datetime-skip-drop (eecee00) to 9d7f294 (merge-base) diff

Run configuration
run benchmark cast_timestamp
env:
  BENCH_FILTER: (timezone_control|no_nulls)
  RUSTFLAGS: -C llvm-args=-align-all-functions=6 -C llvm-args=-align-all-nofallthru-blocks=6
shards: 1
Details
group                                      base                                     changed
-----                                      ----                                     -------
timestamp_ms/date32/no_nulls               1.00     10.4±0.00µs 752.5 MElem/sec     1.00     10.4±0.00µs 752.3 MElem/sec
timestamp_ms/date32/timezone_control       1.12    204.9±0.34µs 38.1 MElem/sec      1.00    183.3±0.14µs 42.6 MElem/sec
timestamp_ms/time32_ms/no_nulls            1.00      7.9±0.00µs 988.5 MElem/sec     1.00      7.9±0.00µs 987.9 MElem/sec
timestamp_ms/time32_ms/timezone_control    1.07    127.9±0.20µs 61.1 MElem/sec      1.00    119.9±0.10µs 65.2 MElem/sec
timestamp_ms/time32_s/no_nulls             1.00      8.4±0.02µs 932.3 MElem/sec     1.00      8.4±0.00µs 933.3 MElem/sec
timestamp_ms/time32_s/timezone_control     1.04    123.9±0.27µs 63.1 MElem/sec      1.00    118.6±0.08µs 65.9 MElem/sec
timestamp_ms/time64_ns/no_nulls            1.00      7.0±0.01µs 1122.2 MElem/sec    1.00      7.0±0.01µs 1123.3 MElem/sec
timestamp_ms/time64_ns/timezone_control    1.04    125.6±0.23µs 62.2 MElem/sec      1.00    120.8±0.10µs 64.7 MElem/sec
timestamp_ms/time64_us/no_nulls            1.00      7.0±0.01µs 1110.5 MElem/sec    1.00      7.0±0.01µs 1114.1 MElem/sec
timestamp_ms/time64_us/timezone_control    1.05    127.3±0.16µs 61.3 MElem/sec      1.00    121.3±0.06µs 64.4 MElem/sec
timestamp_ns/date32/no_nulls               1.00      9.3±0.01µs 842.7 MElem/sec     1.00      9.3±0.01µs 842.5 MElem/sec
timestamp_ns/date32/timezone_control       1.25    199.2±0.19µs 39.2 MElem/sec      1.00    159.7±0.29µs 48.9 MElem/sec
timestamp_ns/time32_ms/no_nulls            1.00      7.7±0.01µs 1015.4 MElem/sec    1.00      7.7±0.01µs 1014.7 MElem/sec
timestamp_ns/time32_ms/timezone_control    1.03    122.2±0.10µs 63.9 MElem/sec      1.00    118.8±0.18µs 65.8 MElem/sec
timestamp_ns/time32_s/no_nulls             1.00      8.8±0.01µs 884.9 MElem/sec     1.00      8.9±0.04µs 881.1 MElem/sec
timestamp_ns/time32_s/timezone_control     1.02    118.3±0.19µs 66.1 MElem/sec      1.00    115.8±0.22µs 67.5 MElem/sec
timestamp_ns/time64_ns/no_nulls            1.00      8.0±0.01µs 972.5 MElem/sec     1.00      8.1±0.02µs 970.2 MElem/sec
timestamp_ns/time64_ns/timezone_control    1.03    120.6±0.10µs 64.8 MElem/sec      1.00    117.1±0.20µs 66.7 MElem/sec
timestamp_ns/time64_us/no_nulls            1.00      8.8±0.01µs 889.8 MElem/sec     1.00      8.8±0.08µs 886.5 MElem/sec
timestamp_ns/time64_us/timezone_control    1.02    122.6±0.24µs 63.7 MElem/sec      1.00    120.2±0.38µs 65.0 MElem/sec
timestamp_s/date32/no_nulls                1.00     10.4±0.01µs 753.1 MElem/sec     1.00     10.4±0.01µs 752.7 MElem/sec
timestamp_s/date32/timezone_control        1.21    181.7±0.20µs 43.0 MElem/sec      1.00    150.5±0.23µs 51.9 MElem/sec
timestamp_s/time32_ms/no_nulls             1.00      7.8±0.01µs 1001.5 MElem/sec    1.00      7.8±0.02µs 1006.4 MElem/sec
timestamp_s/time32_ms/timezone_control     1.09    107.7±0.12µs 72.5 MElem/sec      1.00     99.3±0.07µs 78.7 MElem/sec
timestamp_s/time32_s/no_nulls              1.00      7.9±0.00µs 988.4 MElem/sec     1.00      7.9±0.00µs 988.6 MElem/sec
timestamp_s/time32_s/timezone_control      1.06    103.8±0.15µs 75.3 MElem/sec      1.00     98.3±0.16µs 79.5 MElem/sec
timestamp_s/time64_ns/no_nulls             1.00      7.0±0.00µs 1120.8 MElem/sec    1.00      7.0±0.01µs 1118.2 MElem/sec
timestamp_s/time64_ns/timezone_control     1.06    105.9±0.20µs 73.7 MElem/sec      1.00    100.0±0.09µs 78.2 MElem/sec
timestamp_s/time64_us/no_nulls             1.00      7.0±0.00µs 1121.5 MElem/sec    1.00      7.0±0.01µs 1118.3 MElem/sec
timestamp_s/time64_us/timezone_control     1.07    106.7±0.14µs 73.2 MElem/sec      1.00     99.8±0.05µs 78.3 MElem/sec
timestamp_us/date32/no_nulls               1.00      9.3±0.00µs 842.6 MElem/sec     1.00      9.3±0.00µs 842.0 MElem/sec
timestamp_us/date32/timezone_control       1.25    200.3±0.26µs 39.0 MElem/sec      1.00    160.6±0.55µs 48.6 MElem/sec
timestamp_us/time32_ms/no_nulls            1.00      8.9±0.03µs 882.5 MElem/sec     1.01      8.9±0.11µs 876.5 MElem/sec
timestamp_us/time32_ms/timezone_control    1.02    123.6±0.16µs 63.2 MElem/sec      1.00    120.6±0.26µs 64.8 MElem/sec
timestamp_us/time32_s/no_nulls             1.00      7.8±0.02µs 1000.7 MElem/sec    1.01      7.9±0.07µs 994.0 MElem/sec
timestamp_us/time32_s/timezone_control     1.02    119.5±0.10µs 65.4 MElem/sec      1.00    117.0±0.18µs 66.8 MElem/sec
timestamp_us/time64_ns/no_nulls            1.00      7.0±0.01µs 1116.9 MElem/sec    1.00      7.0±0.03µs 1111.6 MElem/sec
timestamp_us/time64_ns/timezone_control    1.02    121.6±0.27µs 64.3 MElem/sec      1.00    118.7±0.11µs 65.8 MElem/sec
timestamp_us/time64_us/no_nulls            1.00      8.0±0.00µs 973.4 MElem/sec     1.00      8.0±0.00µs 973.2 MElem/sec
timestamp_us/time64_us/timezone_control    1.05    123.3±0.13µs 63.4 MElem/sec      1.00    117.5±0.06µs 66.5 MElem/sec

Per-runner information
cast_timestamp — shard 1/1

Node: gk3-benchmark-cluster-nap-3koj4ru6-4fd0bf1d-tt7c

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

uname:

Linux bench-c6385592222-3836-vhg9k 6.12.105+ #1 SMP Sat Sep  5 07:54:11 UTC 2026 aarch64 GNU/Linux

BENCH_COMMAND:

cargo bench --features=arrow,async,test_common,experimental,object_store --bench cast_timestamp
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Resource Usage

base (merge-base)

Metric Value
Wall time 385.1s
Peak memory 16.2 MiB
Avg memory 15.6 MiB
CPU user 380.2s
CPU sys 0.0s
Peak spill 0 B

branch

Metric Value
Wall time 385.1s
Peak memory 16.2 MiB
Avg memory 15.6 MiB
CPU user 380.4s
CPU sys 0.0s
Peak spill 0 B

File an issue against this benchmark runner

@mbutrovich
mbutrovich marked this pull request as ready for review October 24, 2026 15:15

@Rich-T-kid Rich-T-kid left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @mbutrovich

@Jefffrey
Jefffrey added this pull request to the merge queue Oct 25, 2026
Merged via the queue into apache:main with commit 9a95c6d Oct 25, 2026
23 checks passed
@mbutrovich
mbutrovich deleted the as-datetime-skip-drop branch October 25, 2026 13:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

arrow-core Core crates related to representing arrow data performance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

as_datetime::<T> and related generic converters call DataType drop glue on every value

4 participants