Skip to content

perf(parquet): splice buffered pages with write_all instead of io::copy (adapts #10052)#10353

Open
adriangb wants to merge 2 commits into
apache:mainfrom
pydantic:append-column-from-pages
Open

perf(parquet): splice buffered pages with write_all instead of io::copy (adapts #10052)#10353
adriangb wants to merge 2 commits into
apache:mainfrom
pydantic:append-column-from-pages

Conversation

@adriangb

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Rationale for this change

When the ArrowWriter flushes a row group, each column chunk's buffered pages are spliced into the output through StreamingColumnChunkReader (a Read) driven by std::io::copy. Every byte is copied twice — once into io::copy's fixed 8 KiB buffer, then again into TrackedWrite's BufWriter — in ~len / 8 KiB write calls.

The page blobs are already contiguous owned Bytes sitting in the PageStore; we can write each one straight to the sink with a single write_all (large writes bypass the BufWriter buffer entirely).

#10052 did exactly this, but its IntoIterator<Item = Bytes> signature can't express the fallible, one-page-at-a-time drain of a (possibly spilling) PageStore, and it assumed the pre-#10020 Vec<Bytes> chunk representation.

What changes are included in this PR?

  • StreamingColumnChunkReader (Read impl) becomes StreamingColumnChunkPages, an Iterator<Item = Result<Bytes>> that take()s each page out of the PageStore as it is consumed — preserving the one-page-in-memory bound for spilling backends.
  • New pub(crate) SerializedRowGroupWriter::append_column_from_pages, which writes each page blob with a single write_all.
  • The shared validation / offset-rewriting code is factored into begin_appended_column / finish_appended_column (same refactor as Avoid an extra copy in SerializedRowGroupWriter #10052), also used by the existing Read-based path that still backs the public append_column.

Are these changes tested?

Covered by existing tests. Also verified that the output files are byte-for-byte identical to main for multi-row-group writes with int / string / dictionary columns under both default and small-page properties.

Local benchmark results (arrow_writer bench, Apple Silicon), reproducing the wins from #10052's benchmark run without its large_string_non_null regression:

benchmark main this PR change
string_dictionary/default 36.9 ms 27.9 ms ~24% faster
list_primitive/default 179.8 ms 150.1 ms ~17% faster
large_string_non_null/default 31.4 ms 30.1 ms ~4% faster

Are there any user-facing changes?

No. append_column_from_pages is kept pub(crate) for now; it could be made public in a follow-up if the Result<Bytes> iterator contract is deemed a good public API (#10052 proposed a public variant).

🤖 Generated with Claude Code

https://claude.ai/code/session_01Sd8JjF3qQMkn7htofu8bF3

Adapts the idea from apache#10052 to the PageStore splice path: drain each page
blob from the store and write it straight to the output with a single
write_all, instead of pumping every byte through std::io::copy's fixed
8 KiB buffer.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Sd8JjF3qQMkn7htofu8bF3
@adriangb

Copy link
Copy Markdown
Contributor Author

run benchmark arrow_writer

@adriangb

Copy link
Copy Markdown
Contributor Author

run benchmark parquet_round_trip

@github-actions github-actions Bot added the parquet Changes to the parquet crate label Jul 16, 2026
@adriangbot

Copy link
Copy Markdown

🤖 Arrow criterion benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4988498371-1093-gnb4g 6.12.85+ #1 SMP Mon May 11 08:17:35 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 append-column-from-pages (f77bf2f) to ee30b61 (merge-base) diff
BENCH_NAME=parquet_round_trip
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental,object_store --bench parquet_round_trip
BENCH_FILTER=
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-c4988498291-1094-75lmp 6.12.85+ #1 SMP Mon May 11 08:17:35 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 append-column-from-pages (f77bf2f) to ee30b61 (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                                     append-column-from-pages               main
-----                                     ------------------------               ----
read Binary(100) delta_byte_array         1.00      8.2±0.09ms        ? ?/sec    1.01      8.2±0.09ms        ? ?/sec
read Binary(100) delta_length             1.00      2.8±0.04ms        ? ?/sec    1.00      2.9±0.03ms        ? ?/sec
read Binary(100) dict                     1.00      4.0±0.01ms        ? ?/sec    1.00      4.0±0.00ms        ? ?/sec
read Binary(100) plain                    1.00      3.8±0.02ms        ? ?/sec    1.00      3.9±0.02ms        ? ?/sec
read Binary(20) delta_byte_array          1.00      4.8±0.03ms        ? ?/sec    1.00      4.8±0.03ms        ? ?/sec
read Binary(20) delta_length              1.01   1866.3±9.69µs        ? ?/sec    1.00   1847.7±5.07µs        ? ?/sec
read Binary(20) dict                      1.00      2.6±0.00ms        ? ?/sec    1.00      2.6±0.00ms        ? ?/sec
read Binary(20) plain                     1.00      2.9±0.08ms        ? ?/sec    1.01      3.0±0.09ms        ? ?/sec
read Fixed(16) byte_stream_split          1.00      5.4±0.00ms        ? ?/sec    1.00      5.4±0.00ms        ? ?/sec
read Fixed(16) delta_byte_array           1.01      3.3±0.01ms        ? ?/sec    1.00      3.3±0.00ms        ? ?/sec
read Fixed(16) dict                       1.02    618.9±3.88µs        ? ?/sec    1.00    609.4±3.00µs        ? ?/sec
read Fixed(16) plain                      1.02    617.6±4.13µs        ? ?/sec    1.00    606.1±2.76µs        ? ?/sec
read Fixed(2) byte_stream_split           1.01    932.5±2.43µs        ? ?/sec    1.00    927.6±2.25µs        ? ?/sec
read Fixed(2) delta_byte_array            1.00      3.2±0.01ms        ? ?/sec    1.00      3.2±0.01ms        ? ?/sec
read Fixed(2) dict                        1.01    442.0±2.53µs        ? ?/sec    1.00    438.1±2.26µs        ? ?/sec
read Fixed(2) plain                       1.01    445.3±1.93µs        ? ?/sec    1.00    439.5±2.13µs        ? ?/sec
read String(100) delta_byte_array         1.00      8.9±0.06ms        ? ?/sec    1.01      9.0±0.08ms        ? ?/sec
read String(100) delta_length             1.00      3.6±0.08ms        ? ?/sec    1.04      3.8±0.09ms        ? ?/sec
read String(100) dict                     1.00      4.0±0.00ms        ? ?/sec    1.00      4.0±0.00ms        ? ?/sec
read String(100) plain                    1.01      4.6±0.04ms        ? ?/sec    1.00      4.6±0.02ms        ? ?/sec
read String(20) delta_byte_array          1.00      5.2±0.02ms        ? ?/sec    1.00      5.2±0.02ms        ? ?/sec
read String(20) delta_length              1.01   1991.9±6.25µs        ? ?/sec    1.00   1974.3±5.05µs        ? ?/sec
read String(20) dict                      1.01      2.6±0.00ms        ? ?/sec    1.00      2.6±0.00ms        ? ?/sec
read String(20) plain                     1.01      3.1±0.09ms        ? ?/sec    1.00      3.1±0.09ms        ? ?/sec
read StringView(100) delta_byte_array     1.00      8.5±0.06ms        ? ?/sec    1.00      8.5±0.06ms        ? ?/sec
read StringView(100) delta_length         1.00      3.6±0.07ms        ? ?/sec    1.03      3.7±0.12ms        ? ?/sec
read StringView(100) dict                 1.00   1008.3±2.97µs        ? ?/sec    1.00   1006.7±3.33µs        ? ?/sec
read StringView(100) plain                1.00      3.3±0.09ms        ? ?/sec    1.00      3.3±0.09ms        ? ?/sec
read StringView(20) delta_byte_array      1.00      5.2±0.01ms        ? ?/sec    1.00      5.2±0.01ms        ? ?/sec
read StringView(20) delta_length          1.00      2.5±0.01ms        ? ?/sec    1.00      2.5±0.01ms        ? ?/sec
read StringView(20) dict                  1.00   1001.3±1.95µs        ? ?/sec    1.00   1000.1±4.94µs        ? ?/sec
read StringView(20) plain                 1.00  1619.5±10.16µs        ? ?/sec    1.01  1643.7±10.60µs        ? ?/sec
read f32 byte_stream_split                1.00   1027.0±3.20µs        ? ?/sec    1.00   1030.7±3.48µs        ? ?/sec
read f32 dict                             1.00   1473.3±3.68µs        ? ?/sec    1.00   1468.4±2.77µs        ? ?/sec
read f32 plain                            1.00    957.3±4.79µs        ? ?/sec    1.00    959.9±6.17µs        ? ?/sec
read f64 byte_stream_split                1.00   1534.3±2.65µs        ? ?/sec    1.00   1536.3±2.60µs        ? ?/sec
read f64 dict                             1.00   1499.6±3.38µs        ? ?/sec    1.00   1499.1±2.83µs        ? ?/sec
read f64 plain                            1.00   1089.2±5.98µs        ? ?/sec    1.00   1084.2±3.01µs        ? ?/sec
read int32 byte_stream_split              1.00   1091.4±3.93µs        ? ?/sec    1.00   1096.4±3.15µs        ? ?/sec
read int32 delta_binary                   1.00      2.2±0.02ms        ? ?/sec    1.00      2.2±0.01ms        ? ?/sec
read int32 dict                           1.00   1537.1±4.91µs        ? ?/sec    1.00   1540.6±3.69µs        ? ?/sec
read int32 plain                          1.00   1018.6±4.33µs        ? ?/sec    1.00   1018.5±3.82µs        ? ?/sec
read int64 byte_stream_split              1.00   1589.5±3.59µs        ? ?/sec    1.00   1590.5±2.78µs        ? ?/sec
read int64 delta_binary                   1.00      2.4±0.06ms        ? ?/sec    1.00      2.4±0.05ms        ? ?/sec
read int64 dict                           1.00   1565.6±8.99µs        ? ?/sec    1.00   1568.9±2.56µs        ? ?/sec
read int64 plain                          1.00   1143.9±3.18µs        ? ?/sec    1.00   1140.1±4.72µs        ? ?/sec
write Binary(100) delta_byte_array        1.00     17.3±1.86ms        ? ?/sec    1.38     23.8±2.95ms        ? ?/sec
write Binary(100) delta_length            1.00     13.5±0.73ms        ? ?/sec    1.10     14.9±1.15ms        ? ?/sec
write Binary(100) dict                    1.00     17.8±0.04ms        ? ?/sec    1.00     17.9±0.05ms        ? ?/sec
write Binary(100) plain                   1.00     11.7±0.05ms        ? ?/sec    1.90     22.2±0.15ms        ? ?/sec
write Binary(20) delta_byte_array         1.00     13.0±0.02ms        ? ?/sec    1.01     13.1±0.02ms        ? ?/sec
write Binary(20) delta_length             1.00      9.4±0.01ms        ? ?/sec    1.02      9.6±0.02ms        ? ?/sec
write Binary(20) dict                     1.00     13.3±0.03ms        ? ?/sec    1.01     13.4±0.03ms        ? ?/sec
write Binary(20) plain                    1.00      7.9±0.01ms        ? ?/sec    1.03      8.2±0.01ms        ? ?/sec
write Fixed(16) byte_stream_split         1.00     27.7±0.11ms        ? ?/sec    1.00     27.7±0.20ms        ? ?/sec
write Fixed(16) delta_byte_array          1.00     64.1±0.20ms        ? ?/sec    1.01     64.5±0.19ms        ? ?/sec
write Fixed(16) dict                      1.00     23.2±0.06ms        ? ?/sec    1.01     23.4±0.21ms        ? ?/sec
write Fixed(16) plain                     1.00     23.2±0.06ms        ? ?/sec    1.01     23.5±0.19ms        ? ?/sec
write Fixed(2) byte_stream_split          1.00     21.7±0.04ms        ? ?/sec    1.01     21.9±0.09ms        ? ?/sec
write Fixed(2) delta_byte_array           1.00     62.8±0.20ms        ? ?/sec    1.00     62.9±0.18ms        ? ?/sec
write Fixed(2) dict                       1.00     22.6±0.03ms        ? ?/sec    1.01     22.8±0.07ms        ? ?/sec
write Fixed(2) plain                      1.00     22.6±0.04ms        ? ?/sec    1.01     22.8±0.08ms        ? ?/sec
write String(100) delta_byte_array        1.00     18.4±0.99ms        ? ?/sec    1.05     19.4±1.07ms        ? ?/sec
write String(100) delta_length            1.00     14.3±1.20ms        ? ?/sec    1.20     17.3±2.08ms        ? ?/sec
write String(100) dict                    1.00     17.7±0.03ms        ? ?/sec    1.00     17.8±0.03ms        ? ?/sec
write String(100) plain                   1.00     11.6±0.05ms        ? ?/sec    1.17     13.5±0.36ms        ? ?/sec
write String(20) delta_byte_array         1.00     13.1±0.02ms        ? ?/sec    1.01     13.2±0.02ms        ? ?/sec
write String(20) delta_length             1.00      9.4±0.02ms        ? ?/sec    1.02      9.6±0.02ms        ? ?/sec
write String(20) dict                     1.00     13.3±0.03ms        ? ?/sec    1.01     13.4±0.02ms        ? ?/sec
write String(20) plain                    1.00      7.9±0.01ms        ? ?/sec    1.03      8.2±0.01ms        ? ?/sec
write StringView(100) delta_byte_array    1.00     19.9±1.30ms        ? ?/sec    1.12     22.3±2.21ms        ? ?/sec
write StringView(100) delta_length        1.00     13.5±0.83ms        ? ?/sec    1.22     16.4±1.80ms        ? ?/sec
write StringView(100) dict                1.00     18.7±0.03ms        ? ?/sec    1.00     18.8±0.03ms        ? ?/sec
write StringView(100) plain               1.00     12.1±0.03ms        ? ?/sec    1.11     13.4±0.44ms        ? ?/sec
write StringView(20) delta_byte_array     1.00     13.0±0.02ms        ? ?/sec    1.02     13.2±0.02ms        ? ?/sec
write StringView(20) delta_length         1.00      9.5±0.02ms        ? ?/sec    1.02      9.7±0.02ms        ? ?/sec
write StringView(20) dict                 1.00     13.7±0.03ms        ? ?/sec    1.00     13.7±0.03ms        ? ?/sec
write StringView(20) plain                1.00      7.8±0.01ms        ? ?/sec    1.04      8.1±0.01ms        ? ?/sec
write f32 byte_stream_split               1.00      5.2±0.02ms        ? ?/sec    1.01      5.3±0.02ms        ? ?/sec
write f32 dict                            1.02     16.4±0.06ms        ? ?/sec    1.00     16.1±0.12ms        ? ?/sec
write f32 plain                           1.00      5.3±0.02ms        ? ?/sec    1.01      5.3±0.02ms        ? ?/sec
write f64 byte_stream_split               1.00      6.7±0.02ms        ? ?/sec    1.03      6.9±0.02ms        ? ?/sec
write f64 dict                            1.02     16.3±0.07ms        ? ?/sec    1.00     16.1±0.12ms        ? ?/sec
write f64 plain                           1.00      5.9±0.02ms        ? ?/sec    1.03      6.0±0.02ms        ? ?/sec
write int32 byte_stream_split             1.00      5.4±0.02ms        ? ?/sec    1.02      5.5±0.02ms        ? ?/sec
write int32 delta_binary                  1.00     10.8±0.03ms        ? ?/sec    1.01     10.9±0.04ms        ? ?/sec
write int32 dict                          1.02     17.2±0.07ms        ? ?/sec    1.00     17.0±0.12ms        ? ?/sec
write int32 plain                         1.00      5.6±0.02ms        ? ?/sec    1.01      5.7±0.01ms        ? ?/sec
write int64 byte_stream_split             1.00      6.8±0.02ms        ? ?/sec    1.03      7.0±0.01ms        ? ?/sec
write int64 delta_binary                  1.00     11.9±0.10ms        ? ?/sec    1.02     12.2±0.11ms        ? ?/sec
write int64 dict                          1.02     16.7±0.05ms        ? ?/sec    1.00     16.5±0.12ms        ? ?/sec
write int64 plain                         1.00      6.1±0.02ms        ? ?/sec    1.03      6.3±0.01ms        ? ?/sec

Resource Usage

base (merge-base)

Metric Value
Wall time 935.2s
Peak memory 4.7 GiB
Avg memory 1.2 GiB
CPU user 899.5s
CPU sys 33.4s
Peak spill 0 B

branch

Metric Value
Wall time 935.2s
Peak memory 4.7 GiB
Avg memory 1.3 GiB
CPU user 902.2s
CPU sys 27.9s
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                                              append-column-from-pages               main
-----                                              ------------------------               ----
bool/bloom_filter                                  1.00     13.2±0.10ms    19.0 MB/sec    1.01     13.3±0.06ms    18.9 MB/sec
bool/cdc                                           1.00     15.5±0.04ms    16.1 MB/sec    1.02     15.9±0.08ms    15.7 MB/sec
bool/default                                       1.00     11.0±0.04ms    22.7 MB/sec    1.01     11.1±0.07ms    22.5 MB/sec
bool/parquet_2                                     1.00     14.7±0.03ms    17.0 MB/sec    1.01     14.8±0.07ms    16.9 MB/sec
bool/zstd                                          1.00     11.5±0.02ms    21.8 MB/sec    1.01     11.6±0.06ms    21.5 MB/sec
bool/zstd_parquet_2                                1.00     15.2±0.06ms    16.4 MB/sec    1.00     15.2±0.06ms    16.4 MB/sec
bool_non_null/bloom_filter                         1.00      7.0±0.04ms    17.8 MB/sec    1.01      7.1±0.04ms    17.7 MB/sec
bool_non_null/cdc                                  1.00      6.8±0.06ms    18.4 MB/sec    1.01      6.9±0.03ms    18.3 MB/sec
bool_non_null/default                              1.00      4.2±0.03ms    29.5 MB/sec    1.00      4.3±0.03ms    29.3 MB/sec
bool_non_null/parquet_2                            1.00      9.0±0.03ms    13.9 MB/sec    1.00      9.0±0.04ms    14.0 MB/sec
bool_non_null/zstd                                 1.00      4.6±0.03ms    27.2 MB/sec    1.00      4.6±0.03ms    27.2 MB/sec
bool_non_null/zstd_parquet_2                       1.01      9.4±0.03ms    13.2 MB/sec    1.00      9.4±0.04ms    13.3 MB/sec
bool_ree/bloom_filter                              1.00     30.6±0.08ms     7.0 MB/sec    1.01     30.9±0.10ms     6.9 MB/sec
bool_ree/cdc                                       1.00     31.9±0.07ms     6.7 MB/sec    1.00     31.9±0.11ms     6.7 MB/sec
bool_ree/default                                   1.00     27.9±0.05ms     7.6 MB/sec    1.01     28.1±0.11ms     7.6 MB/sec
bool_ree/parquet_2                                 1.00     29.5±0.06ms     7.2 MB/sec    1.00     29.6±0.12ms     7.2 MB/sec
bool_ree/zstd                                      1.00     28.6±0.10ms     7.4 MB/sec    1.00     28.7±0.12ms     7.4 MB/sec
bool_ree/zstd_parquet_2                            1.00     29.9±0.09ms     7.1 MB/sec    1.00     29.9±0.11ms     7.1 MB/sec
fixed_size_binary_ree/bloom_filter                 1.00     70.4±0.88ms    14.3 MB/sec    1.00     70.7±0.75ms    14.2 MB/sec
fixed_size_binary_ree/cdc                          1.00     73.2±0.26ms    13.8 MB/sec    1.01     73.6±0.16ms    13.7 MB/sec
fixed_size_binary_ree/default                      1.00     62.4±0.21ms    16.1 MB/sec    1.01     63.1±0.39ms    16.0 MB/sec
fixed_size_binary_ree/parquet_2                    1.01     81.5±2.42ms    12.4 MB/sec    1.00     81.0±2.07ms    12.4 MB/sec
fixed_size_binary_ree/zstd                         1.00     67.8±0.18ms    14.9 MB/sec    1.01     68.2±0.26ms    14.8 MB/sec
fixed_size_binary_ree/zstd_parquet_2               1.00     79.5±0.37ms    12.7 MB/sec    1.02     81.0±0.78ms    12.4 MB/sec
float_with_nans/bloom_filter                       1.00     91.7±0.42ms   152.7 MB/sec    1.01     93.0±0.38ms   150.6 MB/sec
float_with_nans/cdc                                1.00     80.7±0.34ms   173.5 MB/sec    1.01     81.6±0.27ms   171.6 MB/sec
float_with_nans/default                            1.00     73.3±0.14ms   190.9 MB/sec    1.02     74.5±0.30ms   187.9 MB/sec
float_with_nans/parquet_2                          1.00     93.6±0.48ms   149.6 MB/sec    1.01     94.9±0.42ms   147.6 MB/sec
float_with_nans/zstd                               1.00    111.2±0.60ms   125.9 MB/sec    1.01    112.3±0.34ms   124.7 MB/sec
float_with_nans/zstd_parquet_2                     1.00    130.9±1.11ms   106.9 MB/sec    1.01    132.2±1.00ms   105.9 MB/sec
int32_ree/bloom_filter                             1.00     41.4±0.45ms     9.8 MB/sec    1.00     41.6±0.42ms     9.8 MB/sec
int32_ree/cdc                                      1.00     40.4±0.09ms    10.1 MB/sec    1.00     40.4±0.10ms    10.1 MB/sec
int32_ree/default                                  1.01     36.8±0.19ms    11.0 MB/sec    1.00     36.6±0.14ms    11.1 MB/sec
int32_ree/parquet_2                                1.00     36.7±0.17ms    11.1 MB/sec    1.00     36.9±0.18ms    11.0 MB/sec
int32_ree/zstd                                     1.00     37.3±0.17ms    10.9 MB/sec    1.00     37.2±0.18ms    10.9 MB/sec
int32_ree/zstd_parquet_2                           1.00     37.2±0.09ms    10.9 MB/sec    1.00     37.1±0.12ms    11.0 MB/sec
int32_ree_95pct_null/bloom_filter                  1.00     21.9±0.02ms    18.6 MB/sec    1.01     22.1±0.06ms    18.4 MB/sec
int32_ree_95pct_null/cdc                           1.00     23.9±0.11ms    17.0 MB/sec    1.00     24.0±0.05ms    16.9 MB/sec
int32_ree_95pct_null/default                       1.00     21.6±0.09ms    18.8 MB/sec    1.00     21.7±0.05ms    18.8 MB/sec
int32_ree_95pct_null/parquet_2                     1.00     21.5±0.01ms    18.9 MB/sec    1.00     21.6±0.03ms    18.8 MB/sec
int32_ree_95pct_null/zstd                          1.00     21.9±0.07ms    18.5 MB/sec    1.00     21.9±0.07ms    18.6 MB/sec
int32_ree_95pct_null/zstd_parquet_2                1.00     21.8±0.10ms    18.6 MB/sec    1.00     21.9±0.03ms    18.6 MB/sec
large_string_non_null/bloom_filter                 1.01     72.8±0.32ms     3.4 GB/sec    1.00     71.9±0.34ms     3.5 GB/sec
large_string_non_null/cdc                          1.00    244.8±1.28ms  1045.8 MB/sec    1.00    244.5±1.36ms  1047.0 MB/sec
large_string_non_null/default                      1.02     55.2±0.51ms     4.5 GB/sec    1.00     54.3±0.19ms     4.6 GB/sec
large_string_non_null/parquet_2                    1.00     54.9±0.32ms     4.6 GB/sec    1.00     54.8±0.90ms     4.6 GB/sec
large_string_non_null/zstd                         1.02     55.1±0.40ms     4.5 GB/sec    1.00     54.1±0.21ms     4.6 GB/sec
large_string_non_null/zstd_parquet_2               1.02     55.0±0.27ms     4.5 GB/sec    1.00     54.1±0.16ms     4.6 GB/sec
list_nested/bloom_filter                           1.01    160.1±0.66ms   180.2 MB/sec    1.00    158.9±0.55ms   181.6 MB/sec
list_nested/cdc                                    1.00    175.5±0.52ms   164.4 MB/sec    1.00    175.7±0.53ms   164.2 MB/sec
list_nested/default                                1.00    143.7±0.34ms   200.8 MB/sec    1.00    144.3±0.53ms   199.9 MB/sec
list_nested/parquet_2                              1.00    157.4±0.60ms   183.4 MB/sec    1.00    157.1±0.37ms   183.7 MB/sec
list_nested/zstd                                   1.00    153.1±0.40ms   188.5 MB/sec    1.00    153.1±0.63ms   188.5 MB/sec
list_nested/zstd_parquet_2                         1.00    170.4±0.40ms   169.3 MB/sec    1.00    170.1±0.46ms   169.6 MB/sec
list_primitive/bloom_filter                        1.06    307.1±7.61ms  1776.1 MB/sec    1.00    289.7±5.47ms  1882.7 MB/sec
list_primitive/cdc                                 1.00    324.8±8.01ms  1678.8 MB/sec    1.01    327.3±2.64ms  1666.3 MB/sec
list_primitive/default                             1.05    226.2±4.50ms     2.4 GB/sec    1.00    215.0±2.35ms     2.5 GB/sec
list_primitive/parquet_2                           1.05    250.6±1.18ms     2.1 GB/sec    1.00    237.5±1.39ms     2.2 GB/sec
list_primitive/zstd                                1.00    467.5±5.20ms  1166.5 MB/sec    1.00    468.6±4.03ms  1163.9 MB/sec
list_primitive/zstd_parquet_2                      1.00    453.4±1.34ms  1202.8 MB/sec    1.02    460.5±1.25ms  1184.3 MB/sec
list_primitive_non_null/bloom_filter               1.03   407.0±13.49ms  1337.0 MB/sec    1.00   394.0±12.60ms  1381.3 MB/sec
list_primitive_non_null/cdc                        1.00    398.6±8.59ms  1365.3 MB/sec    1.06   420.6±10.57ms  1294.0 MB/sec
list_primitive_non_null/default                    1.03    270.7±7.51ms  2010.5 MB/sec    1.00    261.6±4.54ms     2.0 GB/sec
list_primitive_non_null/parquet_2                  1.09    314.2±1.80ms  1732.4 MB/sec    1.00    288.0±9.26ms  1889.7 MB/sec
list_primitive_non_null/zstd                       1.01   693.9±15.62ms   784.3 MB/sec    1.00    688.7±7.62ms   790.3 MB/sec
list_primitive_non_null/zstd_parquet_2             1.05    684.2±3.49ms   795.5 MB/sec    1.00    652.2±3.64ms   834.5 MB/sec
list_primitive_sparse_99pct_null/bloom_filter      1.00     12.3±0.13ms     3.0 GB/sec    1.04     12.8±0.15ms     2.8 GB/sec
list_primitive_sparse_99pct_null/cdc               1.00     24.1±0.38ms  1553.5 MB/sec    1.02     24.5±0.07ms  1527.5 MB/sec
list_primitive_sparse_99pct_null/default           1.00     12.3±0.18ms     3.0 GB/sec    1.01     12.3±0.05ms     3.0 GB/sec
list_primitive_sparse_99pct_null/parquet_2         1.00     12.0±0.06ms     3.1 GB/sec    1.03     12.3±0.05ms     3.0 GB/sec
list_primitive_sparse_99pct_null/zstd              1.00     13.9±0.26ms     2.6 GB/sec    1.02     14.3±0.07ms     2.6 GB/sec
list_primitive_sparse_99pct_null/zstd_parquet_2    1.00     12.1±0.02ms     3.0 GB/sec    1.04     12.5±0.07ms     2.9 GB/sec
list_struct_with_list/bloom_filter                 1.01    316.2±1.56ms   144.2 MB/sec    1.00    314.5±1.85ms   145.0 MB/sec
list_struct_with_list/cdc                          1.00    352.2±1.34ms   129.5 MB/sec    1.00    353.4±1.43ms   129.0 MB/sec
list_struct_with_list/default                      1.00    287.9±0.99ms   158.4 MB/sec    1.00    287.5±1.12ms   158.6 MB/sec
list_struct_with_list/parquet_2                    1.01    306.5±1.37ms   148.8 MB/sec    1.00    304.6±1.10ms   149.7 MB/sec
list_struct_with_list/zstd                         1.00    308.9±1.21ms   147.6 MB/sec    1.00    310.1±1.53ms   147.0 MB/sec
list_struct_with_list/zstd_parquet_2               1.00    328.2±1.25ms   138.9 MB/sec    1.00    328.4±1.42ms   138.9 MB/sec
primitive/bloom_filter                             1.00    149.9±2.38ms   299.3 MB/sec    1.03    154.2±2.95ms   291.1 MB/sec
primitive/cdc                                      1.00    157.7±1.72ms   284.5 MB/sec    1.02    161.6±1.03ms   277.7 MB/sec
primitive/default                                  1.00    118.4±1.00ms   379.1 MB/sec    1.02    120.6±0.80ms   372.2 MB/sec
primitive/parquet_2                                1.00    132.6±0.96ms   338.4 MB/sec    1.02    135.9±1.16ms   330.2 MB/sec
primitive/zstd                                     1.00    148.0±1.14ms   303.1 MB/sec    1.01    149.9±1.31ms   299.3 MB/sec
primitive/zstd_parquet_2                           1.00    166.3±0.92ms   269.8 MB/sec    1.01    168.5±0.81ms   266.4 MB/sec
primitive_all_null/bloom_filter                    1.00   875.7±10.04µs    50.0 GB/sec    1.08   948.0±24.17µs    46.2 GB/sec
primitive_all_null/cdc                             1.00     19.4±0.30ms     2.3 GB/sec    1.00     19.5±0.48ms     2.2 GB/sec
primitive_all_null/default                         1.00    268.2±1.10µs   163.4 GB/sec    1.16    311.7±1.13µs   140.6 GB/sec
primitive_all_null/parquet_2                       1.00    270.0±1.17µs   162.3 GB/sec    1.15    311.1±1.50µs   140.9 GB/sec
primitive_all_null/zstd                            1.00    387.7±0.99µs   113.0 GB/sec    1.12    434.4±1.00µs   100.9 GB/sec
primitive_all_null/zstd_parquet_2                  1.00    351.3±1.20µs   124.8 GB/sec    1.13    396.6±1.04µs   110.5 GB/sec
primitive_non_null/bloom_filter                    1.00    106.2±1.02ms   414.5 MB/sec    1.02    108.6±0.61ms   405.0 MB/sec
primitive_non_null/cdc                             1.00     88.3±0.40ms   498.1 MB/sec    1.03     91.0±0.33ms   483.7 MB/sec
primitive_non_null/default                         1.00     66.2±0.92ms   664.7 MB/sec    1.03     68.4±0.18ms   642.9 MB/sec
primitive_non_null/parquet_2                       1.00     87.4±0.28ms   503.4 MB/sec    1.03     90.2±0.39ms   487.8 MB/sec
primitive_non_null/zstd                            1.00     96.2±0.40ms   457.3 MB/sec    1.04     99.8±0.72ms   441.0 MB/sec
primitive_non_null/zstd_parquet_2                  1.00    120.9±0.73ms   363.8 MB/sec    1.02    123.8±0.38ms   355.3 MB/sec
primitive_sparse_99pct_null/bloom_filter           1.00     12.3±0.44ms     3.6 GB/sec    1.06     13.1±0.32ms     3.4 GB/sec
primitive_sparse_99pct_null/cdc                    1.00     29.2±0.31ms  1537.4 MB/sec    1.04     30.3±0.37ms  1481.4 MB/sec
primitive_sparse_99pct_null/default                1.00     10.9±0.20ms     4.0 GB/sec    1.01     11.0±0.05ms     4.0 GB/sec
primitive_sparse_99pct_null/parquet_2              1.00     10.5±0.03ms     4.2 GB/sec    1.06     11.2±0.15ms     3.9 GB/sec
primitive_sparse_99pct_null/zstd                   1.00     13.9±0.17ms     3.2 GB/sec    1.04     14.4±0.04ms     3.0 GB/sec
primitive_sparse_99pct_null/zstd_parquet_2         1.00     12.5±0.26ms     3.5 GB/sec    1.04     13.0±0.12ms     3.4 GB/sec
short_string_non_null/bloom_filter                 1.00     26.7±0.04ms   448.9 MB/sec    1.03     27.5±0.10ms   436.9 MB/sec
short_string_non_null/cdc                          1.00     19.7±0.08ms   610.2 MB/sec    1.02     20.1±0.15ms   597.3 MB/sec
short_string_non_null/default                      1.00     15.5±0.06ms   775.9 MB/sec    1.03     16.0±0.06ms   749.7 MB/sec
short_string_non_null/parquet_2                    1.00     26.7±0.08ms   449.1 MB/sec    1.00     26.7±0.06ms   448.8 MB/sec
short_string_non_null/zstd                         1.00     35.4±0.15ms   339.1 MB/sec    1.00     35.4±0.10ms   338.7 MB/sec
short_string_non_null/zstd_parquet_2               1.00     29.4±0.14ms   407.7 MB/sec    1.01     29.6±0.13ms   405.0 MB/sec
string/bloom_filter                                1.00   213.0±24.48ms     2.4 GB/sec    1.05   223.5±20.24ms     2.3 GB/sec
string/cdc                                         1.00    206.7±4.32ms     2.5 GB/sec    1.08    223.2±7.85ms     2.3 GB/sec
string/default                                     1.00   121.5±16.76ms     4.2 GB/sec    1.15   140.2±22.98ms     3.7 GB/sec
string/parquet_2                                   1.00     98.0±0.70ms     5.2 GB/sec    1.32    129.1±0.60ms     4.0 GB/sec
string/zstd                                        1.00    412.1±3.49ms  1272.2 MB/sec    1.12   461.8±25.18ms  1135.1 MB/sec
string/zstd_parquet_2                              1.00    394.0±7.49ms  1330.6 MB/sec    1.03    405.0±7.98ms  1294.4 MB/sec
string_and_binary_view/bloom_filter                1.00     64.9±1.34ms   496.9 MB/sec    1.02     66.2±1.94ms   487.2 MB/sec
string_and_binary_view/cdc                         1.00     59.0±0.59ms   546.2 MB/sec    1.02     60.3±0.85ms   534.9 MB/sec
string_and_binary_view/default                     1.00     48.6±0.76ms   664.1 MB/sec    1.02     49.4±0.55ms   652.8 MB/sec
string_and_binary_view/parquet_2                   1.00     59.9±0.12ms   538.1 MB/sec    1.01     60.7±0.28ms   530.9 MB/sec
string_and_binary_view/zstd                        1.00     85.2±0.24ms   378.5 MB/sec    1.01     86.0±0.89ms   375.0 MB/sec
string_and_binary_view/zstd_parquet_2              1.00     74.1±0.32ms   435.3 MB/sec    1.02     75.4±1.01ms   427.5 MB/sec
string_dictionary/bloom_filter                     1.00     87.0±3.56ms     3.0 GB/sec    1.05     91.3±1.31ms     2.8 GB/sec
string_dictionary/cdc                              1.00     47.5±1.27ms     5.4 GB/sec    1.11     52.7±1.45ms     4.9 GB/sec
string_dictionary/default                          1.00     43.6±1.50ms     5.9 GB/sec    1.12     49.0±1.47ms     5.3 GB/sec
string_dictionary/parquet_2                        1.00     47.6±0.21ms     5.4 GB/sec    1.15     55.0±0.37ms     4.7 GB/sec
string_dictionary/zstd                             1.00    205.5±2.35ms  1285.1 MB/sec    1.02    210.4±1.71ms  1255.6 MB/sec
string_dictionary/zstd_parquet_2                   1.00    195.1±0.99ms  1353.5 MB/sec    1.02    200.0±0.84ms  1320.8 MB/sec
string_non_null/bloom_filter                       1.00   237.2±19.34ms     2.2 GB/sec    1.08   256.9±14.98ms  2039.4 MB/sec
string_non_null/cdc                                1.00    256.3±7.04ms  2044.3 MB/sec    1.06    272.9±6.97ms  1919.8 MB/sec
string_non_null/default                            1.00   118.9±19.81ms     4.3 GB/sec    1.15   137.2±15.37ms     3.7 GB/sec
string_non_null/parquet_2                          1.00    118.4±6.44ms     4.3 GB/sec    1.12    132.9±9.23ms     3.9 GB/sec
string_non_null/zstd                               1.03    556.2±8.84ms   942.1 MB/sec    1.00    541.3±3.95ms   968.0 MB/sec
string_non_null/zstd_parquet_2                     1.00    495.7±1.58ms  1057.0 MB/sec    1.03    508.5±1.75ms  1030.4 MB/sec
string_ree/bloom_filter                            1.00    153.1±2.43ms   107.2 MB/sec    1.04    159.6±3.35ms   102.8 MB/sec
string_ree/cdc                                     1.00    222.9±3.09ms    73.6 MB/sec    1.02    226.6±1.73ms    72.4 MB/sec
string_ree/default                                 1.00    123.2±1.93ms   133.2 MB/sec    1.07    131.4±1.61ms   124.9 MB/sec
string_ree/parquet_2                               1.01    180.3±0.86ms    91.0 MB/sec    1.00    179.1±0.76ms    91.6 MB/sec
string_ree/zstd                                    1.01    178.5±2.04ms    91.9 MB/sec    1.00    176.8±2.66ms    92.8 MB/sec
string_ree/zstd_parquet_2                          1.01    195.2±0.98ms    84.0 MB/sec    1.00    193.4±0.85ms    84.8 MB/sec
string_ree_95pct_null/bloom_filter                 1.00     26.1±0.05ms    54.0 MB/sec    1.02     26.6±0.07ms    52.8 MB/sec
string_ree_95pct_null/cdc                          1.00     32.5±0.37ms    43.3 MB/sec    1.01     33.0±0.24ms    42.7 MB/sec
string_ree_95pct_null/default                      1.00     24.9±0.24ms    56.6 MB/sec    1.01     25.1±0.16ms    56.0 MB/sec
string_ree_95pct_null/parquet_2                    1.00     24.7±0.15ms    57.1 MB/sec    1.01     25.0±0.15ms    56.4 MB/sec
string_ree_95pct_null/zstd                         1.00     25.7±0.30ms    54.8 MB/sec    1.01     25.8±0.04ms    54.4 MB/sec
string_ree_95pct_null/zstd_parquet_2               1.00     25.4±0.12ms    55.4 MB/sec    1.01     25.7±0.09ms    54.7 MB/sec
struct_all_null/bloom_filter                       1.00    367.9±1.44µs    42.8 GB/sec    1.08    397.1±4.13µs    39.7 GB/sec
struct_all_null/cdc                                1.00      8.0±0.16ms  2027.7 MB/sec    1.00      7.9±0.14ms  2030.2 MB/sec
struct_all_null/default                            1.00    115.1±0.47µs   136.8 GB/sec    1.16    133.7±0.49µs   117.8 GB/sec
struct_all_null/parquet_2                          1.00    115.7±0.56µs   136.1 GB/sec    1.15    133.6±0.49µs   117.9 GB/sec
struct_all_null/zstd                               1.00    166.0±0.50µs    94.9 GB/sec    1.12    186.1±0.40µs    84.6 GB/sec
struct_all_null/zstd_parquet_2                     1.00    152.0±0.55µs   103.6 GB/sec    1.12    169.8±0.48µs    92.8 GB/sec
struct_non_null/bloom_filter                       1.00     45.5±0.55ms   351.5 MB/sec    1.03     47.1±0.90ms   339.9 MB/sec
struct_non_null/cdc                                1.00     44.6±0.16ms   358.9 MB/sec    1.03     46.1±0.48ms   347.2 MB/sec
struct_non_null/default                            1.00     31.5±0.15ms   507.7 MB/sec    1.03     32.3±0.33ms   494.7 MB/sec
struct_non_null/parquet_2                          1.00     40.0±0.28ms   400.3 MB/sec    1.03     41.0±0.32ms   389.9 MB/sec
struct_non_null/zstd                               1.00     40.1±0.35ms   399.3 MB/sec    1.02     40.9±0.12ms   390.9 MB/sec
struct_non_null/zstd_parquet_2                     1.00     53.6±0.16ms   298.5 MB/sec    1.02     54.8±0.10ms   291.7 MB/sec
struct_sparse_99pct_null/bloom_filter              1.00      6.6±0.29ms     2.4 GB/sec    1.06      7.0±0.09ms     2.3 GB/sec
struct_sparse_99pct_null/cdc                       1.00     13.7±0.18ms  1179.0 MB/sec    1.04     14.2±0.21ms  1134.8 MB/sec
struct_sparse_99pct_null/default                   1.00      5.9±0.06ms     2.7 GB/sec    1.11      6.6±0.13ms     2.4 GB/sec
struct_sparse_99pct_null/parquet_2                 1.00      5.9±0.01ms     2.7 GB/sec    1.09      6.5±0.09ms     2.4 GB/sec
struct_sparse_99pct_null/zstd                      1.00      7.4±0.15ms     2.1 GB/sec    1.07      7.9±0.10ms  2032.7 MB/sec
struct_sparse_99pct_null/zstd_parquet_2            1.00      6.6±0.01ms     2.4 GB/sec    1.07      7.1±0.05ms     2.2 GB/sec

Resource Usage

base (merge-base)

Metric Value
Wall time 2855.6s
Peak memory 2.8 GiB
Avg memory 2.6 GiB
CPU user 2772.5s
CPU sys 76.6s
Peak spill 0 B

branch

Metric Value
Wall time 2835.6s
Peak memory 2.8 GiB
Avg memory 2.5 GiB
CPU user 2722.8s
CPU sys 107.5s
Peak spill 0 B

File an issue against this benchmark runner

@adriangb

Copy link
Copy Markdown
Contributor Author

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-c4989148731-1095-82p8c 6.12.85+ #1 SMP Mon May 11 08:17:35 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 append-column-from-pages (f77bf2f) to ee30b61 (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                                              append-column-from-pages               main
-----                                              ------------------------               ----
bool/bloom_filter                                  1.02     13.3±0.06ms    18.8 MB/sec    1.00     13.0±0.08ms    19.2 MB/sec
bool/cdc                                           1.02     15.9±0.06ms    15.7 MB/sec    1.00     15.7±0.09ms    16.0 MB/sec
bool/default                                       1.02     11.2±0.07ms    22.4 MB/sec    1.00     11.0±0.09ms    22.8 MB/sec
bool/parquet_2                                     1.02     15.0±0.05ms    16.7 MB/sec    1.00     14.7±0.09ms    17.0 MB/sec
bool/zstd                                          1.01     11.6±0.04ms    21.5 MB/sec    1.00     11.5±0.07ms    21.7 MB/sec
bool/zstd_parquet_2                                1.02     15.3±0.06ms    16.3 MB/sec    1.00     15.0±0.05ms    16.6 MB/sec
bool_non_null/bloom_filter                         1.01      7.1±0.03ms    17.7 MB/sec    1.00      7.0±0.03ms    17.8 MB/sec
bool_non_null/cdc                                  1.02      7.0±0.03ms    18.0 MB/sec    1.00      6.8±0.03ms    18.4 MB/sec
bool_non_null/default                              1.00      4.3±0.02ms    29.2 MB/sec    1.00      4.3±0.03ms    29.3 MB/sec
bool_non_null/parquet_2                            1.01      9.1±0.03ms    13.8 MB/sec    1.00      8.9±0.04ms    14.0 MB/sec
bool_non_null/zstd                                 1.00      4.6±0.02ms    27.0 MB/sec    1.00      4.6±0.03ms    27.0 MB/sec
bool_non_null/zstd_parquet_2                       1.02      9.5±0.03ms    13.1 MB/sec    1.00      9.4±0.04ms    13.4 MB/sec
bool_ree/bloom_filter                              1.00     30.6±0.05ms     6.9 MB/sec    1.00     30.8±0.06ms     6.9 MB/sec
bool_ree/cdc                                       1.00     31.7±0.05ms     6.7 MB/sec    1.01     32.1±0.09ms     6.6 MB/sec
bool_ree/default                                   1.00     27.9±0.07ms     7.6 MB/sec    1.00     28.0±0.07ms     7.6 MB/sec
bool_ree/parquet_2                                 1.00     29.5±0.07ms     7.2 MB/sec    1.00     29.6±0.10ms     7.2 MB/sec
bool_ree/zstd                                      1.00     28.5±0.06ms     7.5 MB/sec    1.01     28.7±0.07ms     7.4 MB/sec
bool_ree/zstd_parquet_2                            1.00     29.8±0.06ms     7.1 MB/sec    1.00     29.9±0.10ms     7.1 MB/sec
fixed_size_binary_ree/bloom_filter                 1.00     69.6±0.22ms    14.5 MB/sec    1.05     73.1±0.38ms    13.8 MB/sec
fixed_size_binary_ree/cdc                          1.00     73.4±0.41ms    13.7 MB/sec    1.02     74.5±0.16ms    13.5 MB/sec
fixed_size_binary_ree/default                      1.00     62.4±0.20ms    16.1 MB/sec    1.03     64.3±0.35ms    15.7 MB/sec
fixed_size_binary_ree/parquet_2                    1.00     79.7±0.39ms    12.6 MB/sec    1.08     85.9±1.43ms    11.7 MB/sec
fixed_size_binary_ree/zstd                         1.00     67.8±0.16ms    14.9 MB/sec    1.02     69.2±0.31ms    14.5 MB/sec
fixed_size_binary_ree/zstd_parquet_2               1.00     80.2±0.25ms    12.6 MB/sec    1.07     85.7±1.52ms    11.8 MB/sec
float_with_nans/bloom_filter                       1.00     93.6±0.28ms   149.5 MB/sec    1.03     96.9±1.22ms   144.5 MB/sec
float_with_nans/cdc                                1.00     81.6±0.63ms   171.5 MB/sec    1.04     85.1±0.46ms   164.6 MB/sec
float_with_nans/default                            1.00     73.9±0.14ms   189.5 MB/sec    1.05     77.3±0.36ms   181.1 MB/sec
float_with_nans/parquet_2                          1.00     94.5±0.22ms   148.1 MB/sec    1.05     99.3±0.45ms   141.0 MB/sec
float_with_nans/zstd                               1.00    112.0±0.31ms   125.0 MB/sec    1.02    114.7±0.92ms   122.0 MB/sec
float_with_nans/zstd_parquet_2                     1.00    132.5±0.41ms   105.7 MB/sec    1.04    137.4±0.41ms   101.9 MB/sec
int32_ree/bloom_filter                             1.00     41.1±0.22ms     9.9 MB/sec    1.03     42.6±0.13ms     9.6 MB/sec
int32_ree/cdc                                      1.00     40.5±0.09ms    10.0 MB/sec    1.01     41.0±0.14ms     9.9 MB/sec
int32_ree/default                                  1.00     36.8±0.11ms    11.1 MB/sec    1.01     37.0±0.11ms    11.0 MB/sec
int32_ree/parquet_2                                1.00     36.7±0.12ms    11.1 MB/sec    1.01     37.0±0.12ms    11.0 MB/sec
int32_ree/zstd                                     1.00     37.2±0.13ms    10.9 MB/sec    1.01     37.6±0.11ms    10.8 MB/sec
int32_ree/zstd_parquet_2                           1.00     37.2±0.06ms    10.9 MB/sec    1.01     37.6±0.07ms    10.8 MB/sec
int32_ree_95pct_null/bloom_filter                  1.00     22.0±0.05ms    18.5 MB/sec    1.02     22.4±0.01ms    18.2 MB/sec
int32_ree_95pct_null/cdc                           1.00     23.9±0.06ms    17.0 MB/sec    1.01     24.2±0.04ms    16.8 MB/sec
int32_ree_95pct_null/default                       1.00     21.6±0.02ms    18.8 MB/sec    1.01     21.8±0.02ms    18.7 MB/sec
int32_ree_95pct_null/parquet_2                     1.00     21.6±0.02ms    18.8 MB/sec    1.01     21.8±0.04ms    18.7 MB/sec
int32_ree_95pct_null/zstd                          1.00     21.9±0.02ms    18.6 MB/sec    1.01     22.2±0.02ms    18.4 MB/sec
int32_ree_95pct_null/zstd_parquet_2                1.00     21.8±0.02ms    18.7 MB/sec    1.01     22.0±0.05ms    18.5 MB/sec
large_string_non_null/bloom_filter                 1.00     73.5±0.14ms     3.4 GB/sec    1.03     75.5±0.23ms     3.3 GB/sec
large_string_non_null/cdc                          1.01    245.7±1.16ms  1041.7 MB/sec    1.00    243.5±1.68ms  1051.5 MB/sec
large_string_non_null/default                      1.00     55.6±0.09ms     4.5 GB/sec    1.03     57.5±0.60ms     4.4 GB/sec
large_string_non_null/parquet_2                    1.00     55.5±0.08ms     4.5 GB/sec    1.04     57.9±0.39ms     4.3 GB/sec
large_string_non_null/zstd                         1.00     55.6±0.10ms     4.5 GB/sec    1.04     57.9±0.41ms     4.3 GB/sec
large_string_non_null/zstd_parquet_2               1.00     55.7±0.11ms     4.5 GB/sec    1.04     58.1±0.29ms     4.3 GB/sec
list_nested/bloom_filter                           1.00    159.6±0.48ms   180.8 MB/sec    1.03    165.2±1.90ms   174.7 MB/sec
list_nested/cdc                                    1.00    176.0±0.53ms   163.9 MB/sec    1.00    176.5±0.66ms   163.4 MB/sec
list_nested/default                                1.00    144.0±0.42ms   200.4 MB/sec    1.04    150.0±1.69ms   192.3 MB/sec
list_nested/parquet_2                              1.00    157.2±0.26ms   183.5 MB/sec    1.04    163.7±1.90ms   176.3 MB/sec
list_nested/zstd                                   1.00    153.1±0.32ms   188.4 MB/sec    1.04    159.5±1.96ms   180.9 MB/sec
list_nested/zstd_parquet_2                         1.00    170.4±0.28ms   169.4 MB/sec    1.04    176.6±1.86ms   163.3 MB/sec
list_primitive/bloom_filter                        1.00    314.8±5.14ms  1732.4 MB/sec    1.07    338.2±4.52ms  1612.4 MB/sec
list_primitive/cdc                                 1.00    329.9±8.40ms  1653.3 MB/sec    1.04    343.7±5.86ms  1586.9 MB/sec
list_primitive/default                             1.00    234.7±3.01ms     2.3 GB/sec    1.02    240.4±3.45ms     2.2 GB/sec
list_primitive/parquet_2                           1.00    229.4±1.05ms     2.3 GB/sec    1.13    259.7±1.07ms     2.1 GB/sec
list_primitive/zstd                                1.00    479.4±2.90ms  1137.6 MB/sec    1.00    480.2±3.63ms  1135.8 MB/sec
list_primitive/zstd_parquet_2                      1.00    457.3±1.52ms  1192.6 MB/sec    1.03    469.8±1.87ms  1160.8 MB/sec
list_primitive_non_null/bloom_filter               1.00   420.9±11.33ms  1293.2 MB/sec    1.11   465.2±14.44ms  1169.9 MB/sec
list_primitive_non_null/cdc                        1.00    404.0±9.41ms  1347.1 MB/sec    1.04    419.9±9.28ms  1296.2 MB/sec
list_primitive_non_null/default                    1.00    279.5±6.92ms  1946.9 MB/sec    1.08    301.6±7.67ms  1804.6 MB/sec
list_primitive_non_null/parquet_2                  1.00    321.3±0.61ms  1693.7 MB/sec    1.03    332.4±5.49ms  1637.5 MB/sec
list_primitive_non_null/zstd                       1.01   704.8±17.76ms   772.2 MB/sec    1.00   699.3±14.63ms   778.3 MB/sec
list_primitive_non_null/zstd_parquet_2             1.00    693.3±2.12ms   785.1 MB/sec    1.00    692.4±1.75ms   786.0 MB/sec
list_primitive_sparse_99pct_null/bloom_filter      1.01     12.5±0.06ms     2.9 GB/sec    1.00     12.4±0.05ms     2.9 GB/sec
list_primitive_sparse_99pct_null/cdc               1.01     24.3±0.24ms  1535.1 MB/sec    1.00     24.1±0.08ms  1552.1 MB/sec
list_primitive_sparse_99pct_null/default           1.01     12.2±0.06ms     3.0 GB/sec    1.00     12.1±0.03ms     3.0 GB/sec
list_primitive_sparse_99pct_null/parquet_2         1.01     12.2±0.08ms     3.0 GB/sec    1.00     12.1±0.04ms     3.0 GB/sec
list_primitive_sparse_99pct_null/zstd              1.01     14.1±0.10ms     2.6 GB/sec    1.00     13.9±0.04ms     2.6 GB/sec
list_primitive_sparse_99pct_null/zstd_parquet_2    1.01     12.4±0.09ms     2.9 GB/sec    1.00     12.2±0.04ms     3.0 GB/sec
list_struct_with_list/bloom_filter                 1.00    314.6±0.81ms   144.9 MB/sec    1.02    319.7±1.89ms   142.6 MB/sec
list_struct_with_list/cdc                          1.00    353.3±0.72ms   129.1 MB/sec    1.01    356.4±0.88ms   127.9 MB/sec
list_struct_with_list/default                      1.00    287.8±0.96ms   158.4 MB/sec    1.01    290.4±1.16ms   157.0 MB/sec
list_struct_with_list/parquet_2                    1.00    305.6±1.05ms   149.2 MB/sec    1.01    308.0±0.85ms   148.0 MB/sec
list_struct_with_list/zstd                         1.00    310.1±2.23ms   147.0 MB/sec    1.01    312.4±0.84ms   146.0 MB/sec
list_struct_with_list/zstd_parquet_2               1.00    329.3±0.91ms   138.5 MB/sec    1.01    331.7±0.85ms   137.5 MB/sec
primitive/bloom_filter                             1.04    155.8±1.27ms   288.0 MB/sec    1.00    149.6±1.51ms   300.1 MB/sec
primitive/cdc                                      1.02    162.2±0.72ms   276.6 MB/sec    1.00    158.8±0.91ms   282.5 MB/sec
primitive/default                                  1.02    121.0±0.46ms   371.0 MB/sec    1.00    118.5±0.73ms   378.6 MB/sec
primitive/parquet_2                                1.02    135.8±0.45ms   330.5 MB/sec    1.00    132.6±0.32ms   338.5 MB/sec
primitive/zstd                                     1.02    151.0±0.65ms   297.2 MB/sec    1.00    147.7±1.01ms   303.9 MB/sec
primitive/zstd_parquet_2                           1.02    169.7±0.46ms   264.5 MB/sec    1.00    166.2±0.61ms   270.0 MB/sec
primitive_all_null/bloom_filter                    1.00    901.7±9.03µs    48.6 GB/sec    1.03    931.4±2.35µs    47.1 GB/sec
primitive_all_null/cdc                             1.00     19.3±0.26ms     2.3 GB/sec    1.02     19.7±0.76ms     2.2 GB/sec
primitive_all_null/default                         1.00    267.7±1.25µs   163.7 GB/sec    1.16    311.2±1.36µs   140.8 GB/sec
primitive_all_null/parquet_2                       1.00    267.1±1.13µs   164.1 GB/sec    1.17    311.6±1.22µs   140.7 GB/sec
primitive_all_null/zstd                            1.00    388.6±1.06µs   112.8 GB/sec    1.11    432.6±1.33µs   101.3 GB/sec
primitive_all_null/zstd_parquet_2                  1.00    351.3±1.00µs   124.8 GB/sec    1.12    394.2±1.44µs   111.2 GB/sec
primitive_non_null/bloom_filter                    1.06    113.0±1.41ms   389.5 MB/sec    1.00    106.6±0.49ms   412.9 MB/sec
primitive_non_null/cdc                             1.01     91.2±0.46ms   482.6 MB/sec    1.00     90.2±0.34ms   488.1 MB/sec
primitive_non_null/default                         1.02     68.6±0.37ms   641.1 MB/sec    1.00     67.4±0.30ms   653.0 MB/sec
primitive_non_null/parquet_2                       1.01     90.2±0.38ms   487.9 MB/sec    1.00     89.3±0.36ms   493.0 MB/sec
primitive_non_null/zstd                            1.02     99.6±0.35ms   441.6 MB/sec    1.00     98.1±0.24ms   448.4 MB/sec
primitive_non_null/zstd_parquet_2                  1.01    123.9±0.60ms   355.1 MB/sec    1.00    122.9±0.30ms   358.0 MB/sec
primitive_sparse_99pct_null/bloom_filter           1.02     12.4±0.19ms     3.5 GB/sec    1.00     12.2±0.09ms     3.6 GB/sec
primitive_sparse_99pct_null/cdc                    1.00     29.9±0.28ms  1502.8 MB/sec    1.00     29.9±0.53ms  1499.9 MB/sec
primitive_sparse_99pct_null/default                1.00     10.7±0.04ms     4.1 GB/sec    1.00     10.7±0.03ms     4.1 GB/sec
primitive_sparse_99pct_null/parquet_2              1.00     10.7±0.05ms     4.1 GB/sec    1.00     10.7±0.04ms     4.1 GB/sec
primitive_sparse_99pct_null/zstd                   1.01     14.2±0.12ms     3.1 GB/sec    1.00     14.1±0.04ms     3.1 GB/sec
primitive_sparse_99pct_null/zstd_parquet_2         1.01     12.7±0.09ms     3.5 GB/sec    1.00     12.6±0.05ms     3.5 GB/sec
short_string_non_null/bloom_filter                 1.00     27.9±0.06ms   430.5 MB/sec    1.02     28.4±0.10ms   422.9 MB/sec
short_string_non_null/cdc                          1.00     19.6±0.05ms   611.8 MB/sec    1.02     19.9±0.07ms   602.8 MB/sec
short_string_non_null/default                      1.00     15.7±0.03ms   766.4 MB/sec    1.01     15.8±0.07ms   759.9 MB/sec
short_string_non_null/parquet_2                    1.00     26.6±0.07ms   450.7 MB/sec    1.00     26.6±0.07ms   451.6 MB/sec
short_string_non_null/zstd                         1.00     35.6±0.10ms   337.6 MB/sec    1.00     35.5±0.13ms   337.7 MB/sec
short_string_non_null/zstd_parquet_2               1.00     29.5±0.09ms   406.6 MB/sec    1.00     29.6±0.16ms   405.8 MB/sec
string/bloom_filter                                1.00   216.6±22.37ms     2.4 GB/sec    1.00   215.8±19.83ms     2.4 GB/sec
string/cdc                                         1.00    207.7±4.37ms     2.5 GB/sec    1.05    218.4±6.31ms     2.3 GB/sec
string/default                                     1.00   123.8±17.45ms     4.1 GB/sec    1.08   134.2±20.38ms     3.8 GB/sec
string/parquet_2                                   1.00     99.0±0.96ms     5.2 GB/sec    1.30    129.2±0.74ms     4.0 GB/sec
string/zstd                                        1.00    413.4±1.80ms  1268.2 MB/sec    1.11   460.7±22.11ms  1137.8 MB/sec
string/zstd_parquet_2                              1.00    398.1±7.57ms  1317.0 MB/sec    1.01    403.5±9.63ms  1299.2 MB/sec
string_and_binary_view/bloom_filter                1.02     66.3±0.18ms   486.4 MB/sec    1.00     64.8±0.30ms   497.5 MB/sec
string_and_binary_view/cdc                         1.01     59.7±0.28ms   539.9 MB/sec    1.00     59.1±0.17ms   545.3 MB/sec
string_and_binary_view/default                     1.01     49.1±0.11ms   657.5 MB/sec    1.00     48.7±0.17ms   662.2 MB/sec
string_and_binary_view/parquet_2                   1.01     60.9±0.12ms   529.5 MB/sec    1.00     60.6±0.26ms   532.4 MB/sec
string_and_binary_view/zstd                        1.01     86.0±0.14ms   375.2 MB/sec    1.00     85.4±0.16ms   377.8 MB/sec
string_and_binary_view/zstd_parquet_2              1.01     74.9±0.13ms   430.5 MB/sec    1.00     74.3±0.16ms   434.0 MB/sec
string_dictionary/bloom_filter                     1.00     88.6±1.18ms     2.9 GB/sec    1.04     92.3±0.81ms     2.8 GB/sec
string_dictionary/cdc                              1.00     48.0±0.89ms     5.4 GB/sec    1.13     54.1±0.51ms     4.8 GB/sec
string_dictionary/default                          1.00     44.3±0.78ms     5.8 GB/sec    1.10     48.8±0.92ms     5.3 GB/sec
string_dictionary/parquet_2                        1.00     49.5±0.13ms     5.2 GB/sec    1.11     54.8±0.25ms     4.7 GB/sec
string_dictionary/zstd                             1.00    206.4±1.68ms  1279.5 MB/sec    1.02    210.2±0.98ms  1256.7 MB/sec
string_dictionary/zstd_parquet_2                   1.00    195.8±0.19ms  1348.8 MB/sec    1.02    199.9±0.94ms  1321.2 MB/sec
string_non_null/bloom_filter                       1.00   244.2±17.64ms     2.1 GB/sec    1.02   249.3±14.65ms     2.1 GB/sec
string_non_null/cdc                                1.00    258.1±7.02ms  2030.4 MB/sec    1.06    272.6±7.66ms  1922.5 MB/sec
string_non_null/default                            1.00   121.8±20.48ms     4.2 GB/sec    1.03   125.7±11.72ms     4.1 GB/sec
string_non_null/parquet_2                          1.00    120.6±7.32ms     4.2 GB/sec    1.20   145.2±12.27ms     3.5 GB/sec
string_non_null/zstd                               1.00    557.9±8.63ms   939.3 MB/sec    1.01    561.1±7.10ms   934.0 MB/sec
string_non_null/zstd_parquet_2                     1.00    499.1±0.60ms  1050.0 MB/sec    1.03    513.0±4.98ms  1021.5 MB/sec
string_ree/bloom_filter                            1.00    155.6±1.96ms   105.4 MB/sec    1.07    166.9±3.95ms    98.3 MB/sec
string_ree/cdc                                     1.00    225.5±1.90ms    72.8 MB/sec    1.06    238.0±1.33ms    68.9 MB/sec
string_ree/default                                 1.00    125.4±1.86ms   130.8 MB/sec    1.03    129.3±2.00ms   126.9 MB/sec
string_ree/parquet_2                               1.00    183.0±1.17ms    89.7 MB/sec    1.00    183.8±1.73ms    89.3 MB/sec
string_ree/zstd                                    1.00    183.6±2.39ms    89.4 MB/sec    1.03    188.4±3.10ms    87.1 MB/sec
string_ree/zstd_parquet_2                          1.00    198.5±1.07ms    82.7 MB/sec    1.00    199.1±1.49ms    82.4 MB/sec
string_ree_95pct_null/bloom_filter                 1.00     26.5±0.11ms    53.1 MB/sec    1.03     27.1±0.20ms    51.8 MB/sec
string_ree_95pct_null/cdc                          1.00     32.5±0.08ms    43.3 MB/sec    1.02     33.2±0.17ms    42.3 MB/sec
string_ree_95pct_null/default                      1.00     24.9±0.12ms    56.4 MB/sec    1.03     25.6±0.03ms    55.0 MB/sec
string_ree_95pct_null/parquet_2                    1.00     24.9±0.06ms    56.6 MB/sec    1.03     25.5±0.04ms    55.1 MB/sec
string_ree_95pct_null/zstd                         1.00     25.7±0.08ms    54.8 MB/sec    1.03     26.4±0.04ms    53.3 MB/sec
string_ree_95pct_null/zstd_parquet_2               1.00     25.7±0.09ms    54.7 MB/sec    1.02     26.3±0.03ms    53.4 MB/sec
struct_all_null/bloom_filter                       1.00    379.3±2.68µs    41.5 GB/sec    1.03    392.0±2.30µs    40.2 GB/sec
struct_all_null/cdc                                1.00      7.9±0.14ms     2.0 GB/sec    1.01      8.0±0.19ms  2021.5 MB/sec
struct_all_null/default                            1.00    115.6±0.43µs   136.2 GB/sec    1.15    133.5±0.57µs   118.0 GB/sec
struct_all_null/parquet_2                          1.00    116.0±0.46µs   135.7 GB/sec    1.16    135.1±0.63µs   116.5 GB/sec
struct_all_null/zstd                               1.00    167.3±0.39µs    94.1 GB/sec    1.11    185.8±0.65µs    84.8 GB/sec
struct_all_null/zstd_parquet_2                     1.00    152.0±0.52µs   103.6 GB/sec    1.12    170.9±0.64µs    92.1 GB/sec
struct_non_null/bloom_filter                       1.00     46.2±0.16ms   346.3 MB/sec    1.00     46.1±0.16ms   346.9 MB/sec
struct_non_null/cdc                                1.00     45.2±0.14ms   353.8 MB/sec    1.01     45.9±0.23ms   348.9 MB/sec
struct_non_null/default                            1.00     31.7±0.13ms   504.2 MB/sec    1.01     32.0±0.11ms   499.6 MB/sec
struct_non_null/parquet_2                          1.00     40.4±0.09ms   396.3 MB/sec    1.01     40.8±0.11ms   392.6 MB/sec
struct_non_null/zstd                               1.00     40.4±0.11ms   395.8 MB/sec    1.01     40.7±0.09ms   393.1 MB/sec
struct_non_null/zstd_parquet_2                     1.00     54.4±0.13ms   294.1 MB/sec    1.01     54.8±0.12ms   292.0 MB/sec
struct_sparse_99pct_null/bloom_filter              1.00      6.6±0.05ms     2.4 GB/sec    1.04      6.8±0.03ms     2.3 GB/sec
struct_sparse_99pct_null/cdc                       1.00     13.5±0.09ms  1196.5 MB/sec    1.02     13.8±0.13ms  1167.3 MB/sec
struct_sparse_99pct_null/default                   1.00      6.0±0.03ms     2.6 GB/sec    1.04      6.3±0.02ms     2.5 GB/sec
struct_sparse_99pct_null/parquet_2                 1.00      6.0±0.03ms     2.6 GB/sec    1.04      6.3±0.02ms     2.5 GB/sec
struct_sparse_99pct_null/zstd                      1.00      7.4±0.04ms     2.1 GB/sec    1.03      7.6±0.02ms     2.1 GB/sec
struct_sparse_99pct_null/zstd_parquet_2            1.00      6.8±0.03ms     2.3 GB/sec    1.04      7.0±0.02ms     2.2 GB/sec

Resource Usage

base (merge-base)

Metric Value
Wall time 2895.6s
Peak memory 2.8 GiB
Avg memory 2.5 GiB
CPU user 2786.0s
CPU sys 107.3s
Peak spill 0 B

branch

Metric Value
Wall time 2865.6s
Peak memory 2.8 GiB
Avg memory 2.5 GiB
CPU user 2750.8s
CPU sys 109.7s
Peak spill 0 B

File an issue against this benchmark runner

Its only caller is the arrow writer; without the feature the parquet_derive
clippy job (-D warnings) flags it as dead code.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Sd8JjF3qQMkn7htofu8bF3
@adriangb

Copy link
Copy Markdown
Contributor Author

Thanks fore the quick review! I can't merge so I'll wait for you or Andrew to do it.

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

Labels

parquet Changes to the parquet crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants