Skip to content

[PoC]: Yet another implementation of PARQUET-2249: Introduce IEEE 754 total order#9619

Draft
etseidl wants to merge 29 commits into
apache:mainfrom
etseidl:total_order_514
Draft

[PoC]: Yet another implementation of PARQUET-2249: Introduce IEEE 754 total order#9619
etseidl wants to merge 29 commits into
apache:mainfrom
etseidl:total_order_514

Conversation

@etseidl
Copy link
Copy Markdown
Contributor

@etseidl etseidl commented Mar 26, 2026

Which issue does this PR close?

Rationale for this change

This takes the implementation done by @Xuanwo (#8158) and updates it to the new thrift format and recent changes to the original proposal (apache/parquet-format#514).

What changes are included in this PR?

Adds needed thrift structures as well as NaN counts for pages and column chunks.

Are these changes tested?

Yes, new tests added (more may be needed).

Are there any user-facing changes?

Yes, this is a breaking change.

@github-actions github-actions Bot added the parquet Changes to the parquet crate label Mar 26, 2026
@etseidl etseidl added the api-change Changes to the arrow API label Mar 26, 2026
// For floating point we need to compare NaN values until we encounter a non-NaN
// value which then becomes the new min/max. After this, only non-NaN values are
// evaluated. If all values are NaN, then the min/max NaNs as determined by
// IEEE 754 total order are returned.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This has me a bit worried. I need to do some benchmarking to make sure all the complicated NaN logic isn't killing performance.

Copy link
Copy Markdown
Contributor

@jhorstmann jhorstmann Mar 30, 2026

Choose a reason for hiding this comment

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

Agree, this method is on the hot path. I had a look at optimizing it, but could not get the compiler to generate nice auto-vectorized code for nan-handling yet. I think we can try optimizations in a followup, it would be more important to get the semantics correct first and make sure there are tests for edge cases.

In that regard, about this requirement

If all values are NaN, then the min/max NaNs as determined by
// IEEE 754 total order are returned.

Does the current code correctly distinguish different NaN payloads according to their sign and bit patterns?

(Solved, github was hiding the changes to compare_greater in mod.rs)

Comment thread parquet/src/column/writer/mod.rs
@etseidl
Copy link
Copy Markdown
Contributor Author

etseidl commented Apr 3, 2026

Tests will fail until apache/parquet-testing#104 is merged.

@etseidl
Copy link
Copy Markdown
Contributor Author

etseidl commented Apr 6, 2026

run benchmark arrow_writer

@adriangbot
Copy link
Copy Markdown

🤖 Arrow criterion benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4195303356-913-bmtrq 6.12.55+ #1 SMP Sun Feb 1 08:59:41 UTC 2026 aarch64 GNU/Linux

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

Comparing total_order_514 (5de1817) to 65ad652 (merge-base) diff
BENCH_NAME=arrow_writer
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental,object_store --bench arrow_writer
BENCH_FILTER=
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot
Copy link
Copy Markdown

🤖 Arrow criterion benchmark completed (GKE) | trigger

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

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
Details

group                                     main                                   total_order_514
-----                                     ----                                   ---------------
bool/bloom_filter                         1.00     13.8±0.09ms    18.1 MB/sec    1.00     13.8±0.04ms    18.2 MB/sec
bool/default                              1.00     11.8±0.08ms    21.2 MB/sec    1.00     11.8±0.04ms    21.3 MB/sec
bool/parquet_2                            1.03     15.2±0.09ms    16.4 MB/sec    1.00     14.8±0.05ms    16.9 MB/sec
bool/zstd                                 1.00     12.3±0.08ms    20.3 MB/sec    1.00     12.3±0.05ms    20.4 MB/sec
bool/zstd_parquet_2                       1.03     15.6±0.09ms    16.1 MB/sec    1.00     15.2±0.03ms    16.5 MB/sec
bool_non_null/bloom_filter                1.00      6.8±0.03ms    18.3 MB/sec    1.02      7.0±0.02ms    17.9 MB/sec
bool_non_null/default                     1.00      4.1±0.02ms    30.2 MB/sec    1.04      4.3±0.02ms    29.1 MB/sec
bool_non_null/parquet_2                   1.05      8.7±0.03ms    14.4 MB/sec    1.00      8.2±0.02ms    15.2 MB/sec
bool_non_null/zstd                        1.00      4.5±0.01ms    27.8 MB/sec    1.04      4.7±0.03ms    26.9 MB/sec
bool_non_null/zstd_parquet_2              1.05      9.0±0.03ms    13.8 MB/sec    1.00      8.6±0.02ms    14.5 MB/sec
float_with_nans/bloom_filter              1.00     95.2±1.12ms   147.0 MB/sec    1.04     98.8±0.24ms   141.7 MB/sec
float_with_nans/default                   1.00     75.6±0.33ms   185.3 MB/sec    1.07     80.7±0.33ms   173.5 MB/sec
float_with_nans/parquet_2                 1.00     98.1±0.22ms   142.6 MB/sec    1.05    102.8±0.74ms   136.2 MB/sec
float_with_nans/zstd                      1.00    113.6±0.55ms   123.2 MB/sec    1.04    117.7±0.23ms   118.9 MB/sec
float_with_nans/zstd_parquet_2            1.00    135.5±0.26ms   103.3 MB/sec    1.03    139.9±0.57ms   100.1 MB/sec
list_primitive/bloom_filter               1.00    317.8±3.96ms  1715.8 MB/sec    1.19    377.5±6.61ms  1444.5 MB/sec
list_primitive/default                    1.00    238.3±2.83ms     2.2 GB/sec    1.23    292.4±3.28ms  1865.0 MB/sec
list_primitive/parquet_2                  1.00    276.5±1.00ms  1972.1 MB/sec    1.03    284.6±7.84ms  1916.0 MB/sec
list_primitive/zstd                       1.00    492.5±4.68ms  1107.3 MB/sec    1.09    534.5±6.08ms  1020.4 MB/sec
list_primitive/zstd_parquet_2             1.00    483.0±1.76ms  1129.1 MB/sec    1.03    497.0±7.34ms  1097.3 MB/sec
list_primitive_non_null/bloom_filter      1.00   449.8±13.14ms  1209.9 MB/sec    1.05   473.7±21.89ms  1148.9 MB/sec
list_primitive_non_null/default           1.00   319.1±12.39ms  1705.5 MB/sec    1.06   338.2±19.76ms  1609.1 MB/sec
list_primitive_non_null/parquet_2         1.00   317.9±16.78ms  1712.3 MB/sec    1.23    389.8±1.74ms  1396.1 MB/sec
list_primitive_non_null/zstd              1.00   732.7±18.81ms   742.7 MB/sec    1.02   749.6±26.38ms   726.0 MB/sec
list_primitive_non_null/zstd_parquet_2    1.00    720.4±1.60ms   755.4 MB/sec    1.04    752.5±1.39ms   723.3 MB/sec
primitive/bloom_filter                    1.00    158.8±1.41ms   282.7 MB/sec    1.00    158.3±1.00ms   283.5 MB/sec
primitive/default                         1.00    126.4±0.58ms   355.0 MB/sec    1.00    127.0±0.57ms   353.4 MB/sec
primitive/parquet_2                       1.00    141.4±0.94ms   317.4 MB/sec    1.00    141.5±0.79ms   317.2 MB/sec
primitive/zstd                            1.00    155.8±0.67ms   288.0 MB/sec    1.00    156.5±0.43ms   286.7 MB/sec
primitive/zstd_parquet_2                  1.00    175.5±1.41ms   255.7 MB/sec    1.00    175.4±0.37ms   255.8 MB/sec
primitive_non_null/bloom_filter           1.00    110.5±0.67ms   398.4 MB/sec    1.05    116.4±1.12ms   377.9 MB/sec
primitive_non_null/default                1.00     70.8±0.32ms   621.8 MB/sec    1.00     70.5±0.75ms   624.3 MB/sec
primitive_non_null/parquet_2              1.00     91.7±0.31ms   480.0 MB/sec    1.00     91.9±0.66ms   478.5 MB/sec
primitive_non_null/zstd                   1.00    107.0±0.91ms   411.1 MB/sec    1.00    107.4±0.62ms   409.6 MB/sec
primitive_non_null/zstd_parquet_2         1.02    132.7±2.20ms   331.6 MB/sec    1.00    129.9±3.31ms   338.8 MB/sec
string/bloom_filter                       1.03   231.1±26.62ms     2.2 GB/sec    1.00   225.0±20.21ms     2.3 GB/sec
string/default                            1.06   140.9±25.10ms     3.6 GB/sec    1.00   132.9±19.73ms     3.9 GB/sec
string/parquet_2                          1.63    178.2±1.42ms     2.9 GB/sec    1.00    109.1±2.46ms     4.7 GB/sec
string/zstd                               1.04   460.7±20.53ms  1137.9 MB/sec    1.00    442.9±6.28ms  1183.7 MB/sec
string/zstd_parquet_2                     1.01    408.1±9.64ms  1284.6 MB/sec    1.00    406.0±4.25ms  1291.1 MB/sec
string_and_binary_view/bloom_filter       1.00     66.5±0.93ms   485.1 MB/sec    1.00     66.7±0.16ms   483.2 MB/sec
string_and_binary_view/default            1.00     50.1±0.29ms   643.6 MB/sec    1.00     50.0±0.10ms   644.7 MB/sec
string_and_binary_view/parquet_2          1.00     60.9±0.40ms   529.3 MB/sec    1.00     60.7±0.37ms   531.1 MB/sec
string_and_binary_view/zstd               1.00     86.8±0.66ms   371.5 MB/sec    1.00     86.6±0.11ms   372.5 MB/sec
string_and_binary_view/zstd_parquet_2     1.01     74.9±0.61ms   430.4 MB/sec    1.00     74.5±0.68ms   432.6 MB/sec
string_dictionary/bloom_filter            1.33    125.0±2.94ms     2.1 GB/sec    1.00     93.9±3.26ms     2.7 GB/sec
string_dictionary/default                 1.60     78.1±1.15ms     3.3 GB/sec    1.00     48.7±1.48ms     5.3 GB/sec
string_dictionary/parquet_2               1.46     80.4±0.30ms     3.2 GB/sec    1.00     55.2±0.63ms     4.7 GB/sec
string_dictionary/zstd                    1.11    233.0±2.08ms  1133.6 MB/sec    1.00    210.1±1.78ms  1256.9 MB/sec
string_dictionary/zstd_parquet_2          1.06    212.4±0.97ms  1243.6 MB/sec    1.00    199.5±0.64ms  1323.7 MB/sec
string_non_null/bloom_filter              1.00   256.3±12.92ms  2044.3 MB/sec    1.00   256.8±14.44ms  2040.5 MB/sec
string_non_null/default                   1.00   137.7±13.19ms     3.7 GB/sec    1.04   143.5±12.59ms     3.6 GB/sec
string_non_null/parquet_2                 1.00    145.3±7.14ms     3.5 GB/sec    1.00   145.6±10.05ms     3.5 GB/sec
string_non_null/zstd                      1.00    537.1±4.05ms   975.6 MB/sec    1.05   565.8±18.78ms   926.1 MB/sec
string_non_null/zstd_parquet_2            1.00    505.1±2.39ms  1037.4 MB/sec    1.02    515.7±3.83ms  1016.0 MB/sec

Resource Usage

base (merge-base)

Metric Value
Wall time 1337.4s
Peak memory 4.9 GiB
Avg memory 4.6 GiB
CPU user 1256.3s
CPU sys 80.8s
Peak spill 0 B

branch

Metric Value
Wall time 1357.8s
Peak memory 4.9 GiB
Avg memory 4.6 GiB
CPU user 1263.2s
CPU sys 94.5s
Peak spill 0 B

File an issue against this benchmark runner

@etseidl
Copy link
Copy Markdown
Contributor Author

etseidl commented May 21, 2026

run benchmark arrow_writer

env:
  BENCH_FILTER: float

@adriangbot
Copy link
Copy Markdown

🤖 Arrow criterion benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4512220583-267-5446x 6.12.68+ #1 SMP Wed Apr 1 02:23:28 UTC 2026 aarch64 GNU/Linux

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

Comparing total_order_514 (e09cce0) to f790721 (merge-base) diff
BENCH_NAME=arrow_writer
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental,object_store --bench arrow_writer
BENCH_FILTER=float
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot
Copy link
Copy Markdown

🤖 Arrow criterion benchmark completed (GKE) | trigger

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

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
Details

group                             main                                   total_order_514
-----                             ----                                   ---------------
float_with_nans/bloom_filter      1.00    103.8±0.42ms   134.9 MB/sec    1.03    107.1±0.72ms   130.8 MB/sec
float_with_nans/cdc               1.00     81.2±0.25ms   172.5 MB/sec    1.06     86.0±0.22ms   162.9 MB/sec
float_with_nans/default           1.00     82.6±0.41ms   169.5 MB/sec    1.05     86.8±0.39ms   161.3 MB/sec
float_with_nans/parquet_2         1.00    102.9±0.33ms   136.1 MB/sec    1.04    107.0±0.66ms   130.8 MB/sec
float_with_nans/zstd              1.00    121.1±0.32ms   115.6 MB/sec    1.03    125.2±0.46ms   111.9 MB/sec
float_with_nans/zstd_parquet_2    1.00    140.0±0.41ms   100.0 MB/sec    1.03    144.8±0.42ms    96.7 MB/sec

Resource Usage

base (merge-base)

Metric Value
Wall time 105.0s
Peak memory 6.2 GiB
Avg memory 6.0 GiB
CPU user 96.9s
CPU sys 6.9s
Peak spill 0 B

branch

Metric Value
Wall time 110.0s
Peak memory 6.2 GiB
Avg memory 5.9 GiB
CPU user 100.2s
CPU sys 6.3s
Peak spill 0 B

File an issue against this benchmark runner

@etseidl
Copy link
Copy Markdown
Contributor Author

etseidl commented May 21, 2026

run benchmark arrow_writer

env:
  BENCH_FILTER: list_prim

@etseidl
Copy link
Copy Markdown
Contributor Author

etseidl commented May 21, 2026

run benchmark arrow_writer

env:
  BENCH_FILTER: dictionary

@adriangbot
Copy link
Copy Markdown

🤖 Arrow criterion benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4512457705-268-jzf2l 6.12.68+ #1 SMP Wed Apr 1 02:23:28 UTC 2026 aarch64 GNU/Linux

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

Comparing total_order_514 (30f50ca) to f790721 (merge-base) diff
BENCH_NAME=arrow_writer
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental,object_store --bench arrow_writer
BENCH_FILTER=list_prim
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot
Copy link
Copy Markdown

🤖 Arrow criterion benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4512460475-269-6hgnt 6.12.68+ #1 SMP Wed Apr 1 02:23:28 UTC 2026 aarch64 GNU/Linux

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

Comparing total_order_514 (30f50ca) to f790721 (merge-base) diff
BENCH_NAME=arrow_writer
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental,object_store --bench arrow_writer
BENCH_FILTER=dictionary
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot
Copy link
Copy Markdown

🤖 Arrow criterion benchmark completed (GKE) | trigger

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

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
Details

group                               main                                   total_order_514
-----                               ----                                   ---------------
string_dictionary/bloom_filter      1.00    109.2±1.28ms     2.4 GB/sec    1.01    110.1±1.17ms     2.3 GB/sec
string_dictionary/cdc               1.00     72.2±1.63ms     3.6 GB/sec    1.00     71.9±1.15ms     3.6 GB/sec
string_dictionary/default           1.00     65.1±1.06ms     4.0 GB/sec    1.01     65.8±0.86ms     3.9 GB/sec
string_dictionary/parquet_2         1.01     66.5±4.54ms     3.9 GB/sec    1.00     65.9±7.83ms     3.9 GB/sec
string_dictionary/zstd              1.00    219.5±0.60ms  1203.2 MB/sec    1.01    222.2±1.61ms  1188.5 MB/sec
string_dictionary/zstd_parquet_2    1.00    201.1±2.24ms  1313.2 MB/sec    1.00    200.9±3.16ms  1314.4 MB/sec

Resource Usage

base (merge-base)

Metric Value
Wall time 115.0s
Peak memory 6.3 GiB
Avg memory 6.0 GiB
CPU user 99.6s
CPU sys 12.0s
Peak spill 0 B

branch

Metric Value
Wall time 115.0s
Peak memory 6.3 GiB
Avg memory 6.1 GiB
CPU user 101.5s
CPU sys 12.7s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot
Copy link
Copy Markdown

🤖 Arrow criterion benchmark completed (GKE) | trigger

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

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
Details

group                                              main                                   total_order_514
-----                                              ----                                   ---------------
list_primitive/bloom_filter                        1.00    332.6±1.25ms  1639.8 MB/sec    1.12    370.8±2.29ms  1470.6 MB/sec
list_primitive/cdc                                 1.00    362.2±0.83ms  1505.9 MB/sec    1.04   376.1±10.91ms  1450.0 MB/sec
list_primitive/default                             1.00    252.4±1.30ms     2.1 GB/sec    1.15    290.9±1.82ms  1874.8 MB/sec
list_primitive/parquet_2                           1.00    277.8±0.42ms  1963.3 MB/sec    1.09    301.7±8.03ms  1807.9 MB/sec
list_primitive/zstd                                1.00    501.1±1.65ms  1088.4 MB/sec    1.05   526.1±11.34ms  1036.6 MB/sec
list_primitive/zstd_parquet_2                      1.00    500.1±0.29ms  1090.6 MB/sec    1.05    522.9±0.71ms  1043.0 MB/sec
list_primitive_non_null/bloom_filter               1.00    416.1±9.48ms  1308.0 MB/sec    1.04   433.0±17.76ms  1256.9 MB/sec
list_primitive_non_null/cdc                        1.00    428.1±6.65ms  1271.2 MB/sec    1.01    434.0±6.99ms  1254.0 MB/sec
list_primitive_non_null/default                    1.00   283.6±11.30ms  1918.9 MB/sec    1.05   298.8±17.80ms  1821.7 MB/sec
list_primitive_non_null/parquet_2                  1.00   305.2±20.09ms  1783.4 MB/sec    1.01    306.9±7.71ms  1773.5 MB/sec
list_primitive_non_null/zstd                       1.00   696.9±15.85ms   780.9 MB/sec    1.00   699.1±13.48ms   778.5 MB/sec
list_primitive_non_null/zstd_parquet_2             1.02    685.6±3.52ms   793.8 MB/sec    1.00    671.8±3.58ms   810.2 MB/sec
list_primitive_sparse_99pct_null/bloom_filter      1.02     11.4±0.04ms     3.2 GB/sec    1.00     11.1±0.07ms     3.3 GB/sec
list_primitive_sparse_99pct_null/cdc               1.01     23.0±0.06ms  1626.9 MB/sec    1.00     22.8±0.09ms  1638.4 MB/sec
list_primitive_sparse_99pct_null/default           1.04     11.2±0.03ms     3.3 GB/sec    1.00     10.8±0.12ms     3.4 GB/sec
list_primitive_sparse_99pct_null/parquet_2         1.02     11.1±0.03ms     3.3 GB/sec    1.00     10.9±0.04ms     3.4 GB/sec
list_primitive_sparse_99pct_null/zstd              1.04     13.0±0.03ms     2.8 GB/sec    1.00     12.5±0.06ms     2.9 GB/sec
list_primitive_sparse_99pct_null/zstd_parquet_2    1.02     11.2±0.04ms     3.2 GB/sec    1.00     11.1±0.03ms     3.3 GB/sec

Resource Usage

base (merge-base)

Metric Value
Wall time 645.1s
Peak memory 6.6 GiB
Avg memory 6.4 GiB
CPU user 620.4s
CPU sys 21.6s
Peak spill 0 B

branch

Metric Value
Wall time 665.1s
Peak memory 6.6 GiB
Avg memory 6.3 GiB
CPU user 622.5s
CPU sys 38.7s
Peak spill 0 B

File an issue against this benchmark runner

@etseidl
Copy link
Copy Markdown
Contributor Author

etseidl commented May 21, 2026

run benchmark arrow_writer

env:
  BENCH_FILTER: float

@adriangbot
Copy link
Copy Markdown

🤖 Arrow criterion benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4512953837-270-dx4vm 6.12.68+ #1 SMP Wed Apr 1 02:23:28 UTC 2026 aarch64 GNU/Linux

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

Comparing total_order_514 (396edf0) to f790721 (merge-base) diff
BENCH_NAME=arrow_writer
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental,object_store --bench arrow_writer
BENCH_FILTER=float
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot
Copy link
Copy Markdown

🤖 Arrow criterion benchmark completed (GKE) | trigger

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

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
Details

group                             main                                   total_order_514
-----                             ----                                   ---------------
float_with_nans/bloom_filter      1.00    106.5±0.54ms   131.4 MB/sec    1.02    108.9±0.57ms   128.6 MB/sec
float_with_nans/cdc               1.00     82.3±0.19ms   170.2 MB/sec    1.06     87.4±1.85ms   160.1 MB/sec
float_with_nans/default           1.00     84.8±0.37ms   165.1 MB/sec    1.05     88.8±0.30ms   157.7 MB/sec
float_with_nans/parquet_2         1.00    105.2±0.66ms   133.1 MB/sec    1.03    108.7±0.36ms   128.7 MB/sec
float_with_nans/zstd              1.00    122.3±0.36ms   114.4 MB/sec    1.03    126.3±0.32ms   110.8 MB/sec
float_with_nans/zstd_parquet_2    1.00    142.2±0.39ms    98.4 MB/sec    1.03    146.0±0.36ms    95.9 MB/sec

Resource Usage

base (merge-base)

Metric Value
Wall time 110.0s
Peak memory 6.2 GiB
Avg memory 5.9 GiB
CPU user 98.4s
CPU sys 7.0s
Peak spill 0 B

branch

Metric Value
Wall time 110.0s
Peak memory 6.2 GiB
Avg memory 6.0 GiB
CPU user 101.1s
CPU sys 6.5s
Peak spill 0 B

File an issue against this benchmark runner

@etseidl
Copy link
Copy Markdown
Contributor Author

etseidl commented May 21, 2026

run benchmark arrow_writer

env:
BENCH_FILTER: float

@adriangbot
Copy link
Copy Markdown

🤖 Arrow criterion benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4513435352-271-vjjsd 6.12.68+ #1 SMP Wed Apr 1 02:23:28 UTC 2026 aarch64 GNU/Linux

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

Comparing total_order_514 (13dc03b) to f790721 (merge-base) diff
BENCH_NAME=arrow_writer
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental,object_store --bench arrow_writer
BENCH_FILTER=float
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot
Copy link
Copy Markdown

🤖 Arrow criterion benchmark completed (GKE) | trigger

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

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
Details

group                             main                                   total_order_514
-----                             ----                                   ---------------
float_with_nans/bloom_filter      1.00    105.6±1.51ms   132.6 MB/sec    1.07    112.8±1.97ms   124.1 MB/sec
float_with_nans/cdc               1.00     82.3±0.32ms   170.2 MB/sec    1.09     90.1±0.82ms   155.5 MB/sec
float_with_nans/default           1.00     84.7±0.72ms   165.4 MB/sec    1.07     90.5±0.91ms   154.7 MB/sec
float_with_nans/parquet_2         1.00    105.9±1.05ms   132.3 MB/sec    1.05    111.6±1.12ms   125.4 MB/sec
float_with_nans/zstd              1.00    123.8±0.63ms   113.1 MB/sec    1.04    128.4±0.91ms   109.0 MB/sec
float_with_nans/zstd_parquet_2    1.00    143.0±0.74ms    97.9 MB/sec    1.05    150.6±1.24ms    92.9 MB/sec

Resource Usage

base (merge-base)

Metric Value
Wall time 110.0s
Peak memory 6.2 GiB
Avg memory 5.9 GiB
CPU user 98.6s
CPU sys 7.2s
Peak spill 0 B

branch

Metric Value
Wall time 115.0s
Peak memory 6.2 GiB
Avg memory 5.9 GiB
CPU user 103.6s
CPU sys 6.6s
Peak spill 0 B

File an issue against this benchmark runner

@etseidl
Copy link
Copy Markdown
Contributor Author

etseidl commented May 21, 2026

run benchmark arrow_writer

env:
BENCH_FILTER: float

@apache apache deleted a comment from adriangbot May 21, 2026
@adriangbot
Copy link
Copy Markdown

🤖 Arrow criterion benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4513521017-272-t24hq 6.12.68+ #1 SMP Wed Apr 1 02:23:28 UTC 2026 aarch64 GNU/Linux

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

Comparing total_order_514 (13dc03b) to f790721 (merge-base) diff
BENCH_NAME=arrow_writer
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental,object_store --bench arrow_writer
BENCH_FILTER=float
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot
Copy link
Copy Markdown

🤖 Arrow criterion benchmark completed (GKE) | trigger

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

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
Details

group                             main                                   total_order_514
-----                             ----                                   ---------------
float_with_nans/bloom_filter      1.00    106.2±0.98ms   131.9 MB/sec    1.03    109.2±0.90ms   128.2 MB/sec
float_with_nans/cdc               1.00     82.1±0.13ms   170.5 MB/sec    1.04     85.3±0.17ms   164.1 MB/sec
float_with_nans/default           1.00     84.6±0.92ms   165.4 MB/sec    1.04     87.7±0.75ms   159.6 MB/sec
float_with_nans/parquet_2         1.00    105.5±0.82ms   132.7 MB/sec    1.04    109.4±0.72ms   128.0 MB/sec
float_with_nans/zstd              1.00    122.3±0.74ms   114.5 MB/sec    1.04    127.1±0.84ms   110.1 MB/sec
float_with_nans/zstd_parquet_2    1.00    142.0±0.50ms    98.6 MB/sec    1.03    146.4±0.67ms    95.6 MB/sec

Resource Usage

base (merge-base)

Metric Value
Wall time 110.0s
Peak memory 6.2 GiB
Avg memory 5.9 GiB
CPU user 98.0s
CPU sys 7.6s
Peak spill 0 B

branch

Metric Value
Wall time 110.0s
Peak memory 6.2 GiB
Avg memory 6.0 GiB
CPU user 100.3s
CPU sys 7.2s
Peak spill 0 B

File an issue against this benchmark runner

@etseidl
Copy link
Copy Markdown
Contributor Author

etseidl commented May 22, 2026

run benchmark arrow_writer

@adriangbot
Copy link
Copy Markdown

🤖 Arrow criterion benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4520171218-285-mlsbk 6.12.68+ #1 SMP Wed Apr 1 02:23:28 UTC 2026 aarch64 GNU/Linux

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

Comparing total_order_514 (d0b93d4) to edfb9ab (merge-base) diff
BENCH_NAME=arrow_writer
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental,object_store --bench arrow_writer
BENCH_FILTER=
Results will be posted here when complete


File an issue against this benchmark runner

}

impl<T: DataType> ColumnValueEncoderImpl<T> {
fn min_max(&self, values: &[T::T], value_indices: Option<&[usize]>) -> Option<(T::T, T::T)> {
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This was only called with None for value_indices, so I simplified it.

@adriangbot
Copy link
Copy Markdown

🤖 Arrow criterion benchmark completed (GKE) | trigger

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

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
Details

group                                              main                                   total_order_514
-----                                              ----                                   ---------------
bool/bloom_filter                                  1.02     13.1±0.06ms    19.1 MB/sec    1.00     12.8±0.04ms    19.5 MB/sec
bool/cdc                                           1.03     16.0±0.09ms    15.6 MB/sec    1.00     15.5±0.05ms    16.1 MB/sec
bool/default                                       1.02     11.0±0.05ms    22.7 MB/sec    1.00     10.8±0.08ms    23.2 MB/sec
bool/parquet_2                                     1.01     14.7±0.06ms    17.0 MB/sec    1.00     14.5±0.06ms    17.2 MB/sec
bool/zstd                                          1.02     11.6±0.08ms    21.6 MB/sec    1.00     11.3±0.06ms    22.1 MB/sec
bool/zstd_parquet_2                                1.01     15.1±0.06ms    16.5 MB/sec    1.00     14.9±0.08ms    16.7 MB/sec
bool_non_null/bloom_filter                         1.06      7.1±0.05ms    17.7 MB/sec    1.00      6.7±0.02ms    18.7 MB/sec
bool_non_null/cdc                                  1.05      6.9±0.08ms    18.1 MB/sec    1.00      6.6±0.13ms    19.0 MB/sec
bool_non_null/default                              1.09      4.3±0.02ms    29.1 MB/sec    1.00      3.9±0.03ms    31.8 MB/sec
bool_non_null/parquet_2                            1.03      9.0±0.04ms    13.9 MB/sec    1.00      8.8±0.04ms    14.3 MB/sec
bool_non_null/zstd                                 1.08      4.6±0.02ms    26.9 MB/sec    1.00      4.3±0.02ms    29.1 MB/sec
bool_non_null/zstd_parquet_2                       1.03      9.5±0.04ms    13.2 MB/sec    1.00      9.2±0.04ms    13.7 MB/sec
float_with_nans/bloom_filter                       1.00     95.6±1.25ms   146.5 MB/sec    1.01     96.6±2.29ms   145.0 MB/sec
float_with_nans/cdc                                1.01     84.3±1.28ms   166.1 MB/sec    1.00     83.7±1.37ms   167.3 MB/sec
float_with_nans/default                            1.00     74.5±0.24ms   187.9 MB/sec    1.03     76.8±0.58ms   182.4 MB/sec
float_with_nans/parquet_2                          1.00     96.1±2.19ms   145.7 MB/sec    1.01     97.2±2.08ms   144.1 MB/sec
float_with_nans/zstd                               1.00    112.7±1.32ms   124.2 MB/sec    1.01    113.7±1.55ms   123.1 MB/sec
float_with_nans/zstd_parquet_2                     1.00    131.7±0.29ms   106.3 MB/sec    1.02    135.0±1.85ms   103.7 MB/sec
list_primitive/bloom_filter                        1.00    343.7±9.92ms  1586.9 MB/sec    1.01   347.5±13.41ms  1569.2 MB/sec
list_primitive/cdc                                 1.00    371.5±4.74ms  1468.0 MB/sec    1.00    371.1±4.69ms  1469.4 MB/sec
list_primitive/default                             1.00    259.5±5.41ms     2.1 GB/sec    1.00    259.9±4.95ms     2.0 GB/sec
list_primitive/parquet_2                           1.00    279.0±2.14ms  1954.8 MB/sec    1.00    278.6±2.58ms  1957.4 MB/sec
list_primitive/zstd                                1.00    513.5±7.03ms  1062.0 MB/sec    1.00    511.6±6.85ms  1066.1 MB/sec
list_primitive/zstd_parquet_2                      1.00    505.8±3.72ms  1078.3 MB/sec    1.00    503.3±3.83ms  1083.7 MB/sec
list_primitive_non_null/bloom_filter               1.00   408.3±20.95ms  1333.1 MB/sec    1.06   431.6±20.86ms  1260.9 MB/sec
list_primitive_non_null/cdc                        1.01   446.4±10.18ms  1219.2 MB/sec    1.00    442.5±9.43ms  1229.9 MB/sec
list_primitive_non_null/default                    1.00    263.1±6.53ms     2.0 GB/sec    1.12    294.3±8.55ms  1849.5 MB/sec
list_primitive_non_null/parquet_2                  1.00    296.6±4.36ms  1835.2 MB/sec    1.10    325.0±5.13ms  1674.4 MB/sec
list_primitive_non_null/zstd                       1.00   692.0±12.44ms   786.5 MB/sec    1.04   716.7±16.07ms   759.4 MB/sec
list_primitive_non_null/zstd_parquet_2             1.00    674.1±7.37ms   807.3 MB/sec    1.02    690.7±5.90ms   787.9 MB/sec
list_primitive_sparse_99pct_null/bloom_filter      1.00     11.8±0.05ms     3.1 GB/sec    1.06     12.5±0.26ms     2.9 GB/sec
list_primitive_sparse_99pct_null/cdc               1.00     23.6±0.14ms  1584.6 MB/sec    1.00     23.7±0.10ms  1578.2 MB/sec
list_primitive_sparse_99pct_null/default           1.01     11.8±0.28ms     3.1 GB/sec    1.00     11.7±0.21ms     3.1 GB/sec
list_primitive_sparse_99pct_null/parquet_2         1.01     12.0±0.07ms     3.0 GB/sec    1.00     11.8±0.25ms     3.1 GB/sec
list_primitive_sparse_99pct_null/zstd              1.00     13.8±0.24ms     2.6 GB/sec    1.00     13.8±0.31ms     2.7 GB/sec
list_primitive_sparse_99pct_null/zstd_parquet_2    1.00     11.6±0.05ms     3.1 GB/sec    1.03     12.0±0.27ms     3.0 GB/sec
primitive/bloom_filter                             1.02    154.1±3.88ms   291.2 MB/sec    1.00    151.5±3.50ms   296.3 MB/sec
primitive/cdc                                      1.01    161.4±1.80ms   278.0 MB/sec    1.00    159.1±1.34ms   282.1 MB/sec
primitive/default                                  1.02    120.8±1.72ms   371.6 MB/sec    1.00    118.8±1.78ms   377.8 MB/sec
primitive/parquet_2                                1.01    134.0±1.64ms   335.0 MB/sec    1.00    132.4±0.62ms   338.9 MB/sec
primitive/zstd                                     1.00    149.6±1.66ms   300.0 MB/sec    1.00    149.7±1.83ms   299.8 MB/sec
primitive/zstd_parquet_2                           1.01    168.3±2.13ms   266.7 MB/sec    1.00    166.9±1.73ms   268.9 MB/sec
primitive_all_null/bloom_filter                    1.00    893.0±2.47µs    49.1 GB/sec    1.04   929.9±19.40µs    47.1 GB/sec
primitive_all_null/cdc                             1.00     18.8±0.30ms     2.3 GB/sec    1.02     19.3±0.36ms     2.3 GB/sec
primitive_all_null/default                         1.00    275.3±1.23µs   159.2 GB/sec    1.02    281.1±2.30µs   155.9 GB/sec
primitive_all_null/parquet_2                       1.00    278.7±1.17µs   157.2 GB/sec    1.03    287.1±1.65µs   152.6 GB/sec
primitive_all_null/zstd                            1.00    388.8±1.32µs   112.7 GB/sec    1.02    398.3±2.68µs   110.0 GB/sec
primitive_all_null/zstd_parquet_2                  1.00    356.2±1.07µs   123.0 GB/sec    1.03    365.4±1.77µs   119.9 GB/sec
primitive_non_null/bloom_filter                    1.00    114.3±2.26ms   385.0 MB/sec    1.01    115.5±3.96ms   381.0 MB/sec
primitive_non_null/cdc                             1.03     92.7±1.55ms   474.7 MB/sec    1.00     90.2±1.96ms   488.0 MB/sec
primitive_non_null/default                         1.01     68.7±0.99ms   640.2 MB/sec    1.00     68.1±1.36ms   645.9 MB/sec
primitive_non_null/parquet_2                       1.03     91.1±1.77ms   483.0 MB/sec    1.00     88.6±1.60ms   496.4 MB/sec
primitive_non_null/zstd                            1.03    106.8±2.28ms   412.2 MB/sec    1.00    103.7±0.27ms   424.3 MB/sec
primitive_non_null/zstd_parquet_2                  1.00    130.5±3.03ms   337.1 MB/sec    1.00    130.6±2.51ms   336.9 MB/sec
primitive_sparse_99pct_null/bloom_filter           1.00     12.1±0.11ms     3.6 GB/sec    1.10     13.3±0.45ms     3.3 GB/sec
primitive_sparse_99pct_null/cdc                    1.08     32.2±0.34ms  1395.8 MB/sec    1.00     29.7±0.32ms  1509.0 MB/sec
primitive_sparse_99pct_null/default                1.02     10.9±0.34ms     4.0 GB/sec    1.00     10.7±0.24ms     4.1 GB/sec
primitive_sparse_99pct_null/parquet_2              1.03     11.0±0.26ms     4.0 GB/sec    1.00     10.7±0.19ms     4.1 GB/sec
primitive_sparse_99pct_null/zstd                   1.03     14.5±0.29ms     3.0 GB/sec    1.00     14.1±0.23ms     3.1 GB/sec
primitive_sparse_99pct_null/zstd_parquet_2         1.00     12.7±0.05ms     3.4 GB/sec    1.01     12.9±0.37ms     3.4 GB/sec
string/bloom_filter                                1.00   225.5±18.88ms     2.3 GB/sec    1.06   239.3±26.32ms     2.1 GB/sec
string/cdc                                         1.00    227.5±6.91ms     2.3 GB/sec    1.00    227.6±6.65ms     2.2 GB/sec
string/default                                     1.00   126.8±20.08ms     4.0 GB/sec    1.01   128.3±16.61ms     4.0 GB/sec
string/parquet_2                                   1.00    115.1±5.77ms     4.4 GB/sec    1.04    120.0±3.06ms     4.3 GB/sec
string/zstd                                        1.00    421.4±5.27ms  1244.1 MB/sec    1.08   455.1±18.53ms  1152.0 MB/sec
string/zstd_parquet_2                              1.02    405.5±8.29ms  1292.9 MB/sec    1.00    399.5±3.76ms  1312.4 MB/sec
string_and_binary_view/bloom_filter                1.01     66.4±2.96ms   485.9 MB/sec    1.00     65.7±0.22ms   491.0 MB/sec
string_and_binary_view/cdc                         1.00     58.9±0.70ms   547.5 MB/sec    1.03     60.6±1.78ms   532.6 MB/sec
string_and_binary_view/default                     1.00     48.7±1.27ms   662.2 MB/sec    1.01     49.2±1.32ms   656.1 MB/sec
string_and_binary_view/parquet_2                   1.00     59.1±0.13ms   545.7 MB/sec    1.03     60.7±0.81ms   531.0 MB/sec
string_and_binary_view/zstd                        1.00     86.4±0.89ms   373.4 MB/sec    1.00     86.3±1.08ms   373.7 MB/sec
string_and_binary_view/zstd_parquet_2              1.00     73.4±0.73ms   439.5 MB/sec    1.01     74.2±1.48ms   434.5 MB/sec
string_dictionary/bloom_filter                     1.00     92.2±3.15ms     2.8 GB/sec    1.12    103.0±5.33ms     2.5 GB/sec
string_dictionary/cdc                              1.00     57.3±1.78ms     4.5 GB/sec    1.00     57.2±2.45ms     4.5 GB/sec
string_dictionary/default                          1.00     48.4±2.73ms     5.3 GB/sec    1.02     49.3±0.20ms     5.2 GB/sec
string_dictionary/parquet_2                        1.02     56.4±1.04ms     4.6 GB/sec    1.00     55.1±0.87ms     4.7 GB/sec
string_dictionary/zstd                             1.00    211.9±3.21ms  1246.6 MB/sec    1.01    213.3±3.93ms  1238.1 MB/sec
string_dictionary/zstd_parquet_2                   1.00    199.2±0.61ms  1325.6 MB/sec    1.01    201.5±1.77ms  1310.9 MB/sec
string_non_null/bloom_filter                       1.00   254.1±21.09ms     2.0 GB/sec    1.05   265.8±16.68ms  1971.1 MB/sec
string_non_null/cdc                                1.00    272.2±7.78ms  1925.0 MB/sec    1.02   277.1±10.00ms  1890.8 MB/sec
string_non_null/default                            1.01   141.8±16.02ms     3.6 GB/sec    1.00   141.0±16.11ms     3.6 GB/sec
string_non_null/parquet_2                          1.00    136.4±4.10ms     3.8 GB/sec    1.06    144.0±8.64ms     3.6 GB/sec
string_non_null/zstd                               1.00   543.2±10.21ms   964.7 MB/sec    1.05   568.9±11.42ms   921.0 MB/sec
string_non_null/zstd_parquet_2                     1.00    509.2±5.15ms  1029.0 MB/sec    1.00    509.3±4.53ms  1028.8 MB/sec
struct_all_null/bloom_filter                       1.00    381.2±3.09µs    41.3 GB/sec    1.00    381.0±3.73µs    41.3 GB/sec
struct_all_null/cdc                                1.00      7.6±0.12ms     2.1 GB/sec    1.04      7.9±0.14ms  2034.5 MB/sec
struct_all_null/default                            1.00    119.2±0.36µs   132.1 GB/sec    1.02    122.1±1.19µs   129.0 GB/sec
struct_all_null/parquet_2                          1.00    120.8±0.54µs   130.4 GB/sec    1.02    122.9±0.55µs   128.1 GB/sec
struct_all_null/zstd                               1.00    167.1±0.65µs    94.2 GB/sec    1.02    169.8±1.38µs    92.7 GB/sec
struct_all_null/zstd_parquet_2                     1.00    153.6±0.48µs   102.5 GB/sec    1.01    155.5±0.70µs   101.3 GB/sec
struct_non_null/bloom_filter                       1.05     48.0±1.10ms   333.4 MB/sec    1.00     45.6±1.11ms   350.9 MB/sec
struct_non_null/cdc                                1.02     45.7±0.20ms   350.2 MB/sec    1.00     44.7±0.44ms   357.7 MB/sec
struct_non_null/default                            1.04     32.2±0.14ms   497.5 MB/sec    1.00     30.9±0.45ms   517.2 MB/sec
struct_non_null/parquet_2                          1.06     41.7±0.40ms   383.9 MB/sec    1.00     39.1±0.37ms   408.8 MB/sec
struct_non_null/zstd                               1.04     41.0±0.45ms   389.9 MB/sec    1.00     39.5±0.81ms   404.7 MB/sec
struct_non_null/zstd_parquet_2                     1.05     55.7±0.92ms   287.1 MB/sec    1.00     53.1±0.10ms   301.6 MB/sec
struct_sparse_99pct_null/bloom_filter              1.01      7.0±0.31ms     2.3 GB/sec    1.00      6.9±0.38ms     2.3 GB/sec
struct_sparse_99pct_null/cdc                       1.06     14.6±0.09ms  1107.1 MB/sec    1.00     13.7±0.27ms  1177.5 MB/sec
struct_sparse_99pct_null/default                   1.02      6.3±0.07ms     2.5 GB/sec    1.00      6.1±0.19ms     2.6 GB/sec
struct_sparse_99pct_null/parquet_2                 1.01      6.0±0.18ms     2.6 GB/sec    1.00      6.0±0.01ms     2.6 GB/sec
struct_sparse_99pct_null/zstd                      1.00      7.3±0.02ms     2.2 GB/sec    1.00      7.3±0.09ms     2.2 GB/sec
struct_sparse_99pct_null/zstd_parquet_2            1.03      6.9±0.24ms     2.3 GB/sec    1.00      6.7±0.02ms     2.4 GB/sec

Resource Usage

base (merge-base)

Metric Value
Wall time 1935.4s
Peak memory 6.6 GiB
Avg memory 6.4 GiB
CPU user 1901.0s
CPU sys 32.7s
Peak spill 0 B

branch

Metric Value
Wall time 1930.4s
Peak memory 6.6 GiB
Avg memory 6.4 GiB
CPU user 1876.4s
CPU sys 53.3s
Peak spill 0 B

File an issue against this benchmark runner

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api-change Changes to the arrow API parquet Changes to the parquet crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Parquet] Prototype: PARQUET-2249: Introduce IEEE 754 total order & NaN-counts #514

3 participants