Skip to content

Conversation

@alamb
Copy link
Contributor

@alamb alamb commented Jan 9, 2026

Which issue does this PR close?

Rationale for this change

Creating Arrays via ArrayData / make_array has overhead (at least 2 Vec allocations) compared to simply creating the arrays directly

ViewArrays also have an extra Vec allocation (to hold their buffers)

What changes are included in this PR?

Update the parquet reader to create ViewArrays directly

Are these changes tested?

By CI

Are there any user-facing changes?

@github-actions github-actions bot added the parquet Changes to the parquet crate label Jan 9, 2026
pub fn into_array(self, null_buffer: Option<Buffer>, data_type: &ArrowType) -> ArrayRef {
let len = self.views.len();
let views = Buffer::from_vec(self.views);
let views = ScalarBuffer::from(self.views);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The new formulation is simpler too, which is a nice side effect

@alamb
Copy link
Contributor Author

alamb commented Jan 9, 2026

run benchmark arrow_reader arrow_reader_clickbench

@alamb-ghbot
Copy link

🤖 ./gh_compare_arrow.sh gh_compare_arrow.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing alamb/less_parquet_view_allocations (2ed62c2) to 96637fc diff
BENCH_NAME=arrow_reader
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental --bench arrow_reader
BENCH_FILTER=
BENCH_BRANCH_NAME=alamb_less_parquet_view_allocations
Results will be posted here when complete

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

group                                                                                                      alamb_less_parquet_view_allocations    main
-----                                                                                                      -----------------------------------    ----
arrow_array_reader/BYTE_ARRAY/Decimal128Array/plain encoded, mandatory, no NULLs                           1.00  1240.5±15.33µs        ? ?/sec    1.02  1270.1±10.95µs        ? ?/sec
arrow_array_reader/BYTE_ARRAY/Decimal128Array/plain encoded, optional, half NULLs                          1.00  1296.1±10.11µs        ? ?/sec    1.00   1293.4±9.27µs        ? ?/sec
arrow_array_reader/BYTE_ARRAY/Decimal128Array/plain encoded, optional, no NULLs                            1.00  1247.4±11.35µs        ? ?/sec    1.03  1283.2±10.19µs        ? ?/sec
arrow_array_reader/BinaryArray/dictionary encoded, mandatory, no NULLs                                     1.02    496.6±5.61µs        ? ?/sec    1.00    486.1±2.98µs        ? ?/sec
arrow_array_reader/BinaryArray/dictionary encoded, optional, half NULLs                                    1.05    695.8±5.40µs        ? ?/sec    1.00    661.6±5.40µs        ? ?/sec
arrow_array_reader/BinaryArray/dictionary encoded, optional, no NULLs                                      1.07   523.0±21.80µs        ? ?/sec    1.00    489.5±6.67µs        ? ?/sec
arrow_array_reader/BinaryArray/plain encoded, mandatory, no NULLs                                          1.00    546.0±5.17µs        ? ?/sec    1.05    572.3±4.59µs        ? ?/sec
arrow_array_reader/BinaryArray/plain encoded, optional, half NULLs                                         1.01    741.2±3.93µs        ? ?/sec    1.00    730.8±3.48µs        ? ?/sec
arrow_array_reader/BinaryArray/plain encoded, optional, no NULLs                                           1.00    558.0±4.10µs        ? ?/sec    1.04    581.8±2.36µs        ? ?/sec
arrow_array_reader/BinaryViewArray/dictionary encoded, mandatory, no NULLs                                 1.00    247.2±3.07µs        ? ?/sec    1.05    259.0±3.79µs        ? ?/sec
arrow_array_reader/BinaryViewArray/dictionary encoded, optional, half NULLs                                1.08    248.4±3.81µs        ? ?/sec    1.00    229.5±2.43µs        ? ?/sec
arrow_array_reader/BinaryViewArray/dictionary encoded, optional, no NULLs                                  1.00    256.8±5.74µs        ? ?/sec    1.00    256.0±3.58µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, mandatory, no NULLs                                      1.27    370.5±3.94µs        ? ?/sec    1.00    292.5±1.63µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, mandatory, no NULLs, short string                        1.13    345.4±3.14µs        ? ?/sec    1.00    305.8±1.22µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, optional, half NULLs                                     1.20    319.2±7.52µs        ? ?/sec    1.00    265.4±1.64µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, optional, no NULLs                                       1.25    378.6±4.48µs        ? ?/sec    1.00    301.7±5.25µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/byte_stream_split encoded, mandatory, no NULLs     1.00   1055.0±8.26µs        ? ?/sec    1.02   1077.6±9.02µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/byte_stream_split encoded, optional, half NULLs    1.00    891.8±5.71µs        ? ?/sec    1.03    922.6±5.53µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/byte_stream_split encoded, optional, no NULLs      1.00  1063.1±18.15µs        ? ?/sec    1.02  1089.2±22.06µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/plain encoded, mandatory, no NULLs                 1.07    433.4±4.65µs        ? ?/sec    1.00    405.1±3.52µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/plain encoded, optional, half NULLs                1.00    582.2±8.22µs        ? ?/sec    1.03   599.1±10.85µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/plain encoded, optional, no NULLs                  1.06    444.0±4.48µs        ? ?/sec    1.00    418.4±9.49µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/byte_stream_split encoded, mandatory, no NULLs        1.00    194.4±0.76µs        ? ?/sec    1.04    202.9±4.88µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/byte_stream_split encoded, optional, half NULLs       1.05    335.5±0.94µs        ? ?/sec    1.00    318.4±2.91µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/byte_stream_split encoded, optional, no NULLs         1.00    200.1±0.63µs        ? ?/sec    1.04    207.3±0.81µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/plain encoded, mandatory, no NULLs                    1.01    118.2±0.46µs        ? ?/sec    1.00    117.4±0.45µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/plain encoded, optional, half NULLs                   1.08    298.3±4.99µs        ? ?/sec    1.00    275.0±1.87µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/plain encoded, optional, no NULLs                     1.01    124.2±1.86µs        ? ?/sec    1.00    122.6±0.40µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/byte_stream_split encoded, mandatory, no NULLs                    1.00   695.6±10.70µs        ? ?/sec    1.06    738.1±9.36µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/byte_stream_split encoded, optional, half NULLs                   1.00    528.5±2.24µs        ? ?/sec    1.12    593.3±8.18µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/byte_stream_split encoded, optional, no NULLs                     1.00    701.2±8.24µs        ? ?/sec    1.06   746.0±10.71µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/plain encoded, mandatory, no NULLs                                1.20     85.1±5.04µs        ? ?/sec    1.00     70.6±5.34µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/plain encoded, optional, half NULLs                               1.00    222.4±1.61µs        ? ?/sec    1.13    252.2±3.69µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/plain encoded, optional, no NULLs                                 1.25     92.0±3.52µs        ? ?/sec    1.00     73.7±5.81µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/byte_stream_split encoded, mandatory, no NULLs                     1.00     85.8±0.66µs        ? ?/sec    1.10     94.2±0.37µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/byte_stream_split encoded, optional, half NULLs                    1.09    226.5±1.23µs        ? ?/sec    1.00    208.6±4.35µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/byte_stream_split encoded, optional, no NULLs                      1.00     91.4±0.32µs        ? ?/sec    1.09     99.6±3.12µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/plain encoded, mandatory, no NULLs                                 1.00      9.2±0.19µs        ? ?/sec    1.01      9.2±0.28µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/plain encoded, optional, half NULLs                                1.14    189.0±2.41µs        ? ?/sec    1.00    165.6±0.98µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/plain encoded, optional, no NULLs                                  1.00     14.2±0.38µs        ? ?/sec    1.01     14.3±0.27µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/byte_stream_split encoded, mandatory, no NULLs                     1.00    170.0±0.94µs        ? ?/sec    1.08    184.2±1.19µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/byte_stream_split encoded, optional, half NULLs                    1.02    336.1±7.52µs        ? ?/sec    1.00    329.3±3.24µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/byte_stream_split encoded, optional, no NULLs                      1.00    176.2±1.44µs        ? ?/sec    1.08    189.6±0.83µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/plain encoded, mandatory, no NULLs                                 1.04     14.9±0.53µs        ? ?/sec    1.00     14.4±0.42µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/plain encoded, optional, half NULLs                                1.06    258.3±1.53µs        ? ?/sec    1.00    244.2±3.15µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/plain encoded, optional, no NULLs                                  1.03     20.4±0.76µs        ? ?/sec    1.00     19.9±0.40µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/byte_stream_split encoded, mandatory, no NULLs                     1.00    340.8±1.80µs        ? ?/sec    1.07    365.5±3.23µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/byte_stream_split encoded, optional, half NULLs                    1.00    342.6±5.66µs        ? ?/sec    1.14   390.1±11.97µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/byte_stream_split encoded, optional, no NULLs                      1.00    347.6±2.09µs        ? ?/sec    1.07    373.3±3.76µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/plain encoded, mandatory, no NULLs                                 1.15     30.9±1.50µs        ? ?/sec    1.00     26.9±0.46µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/plain encoded, optional, half NULLs                                1.00    187.5±4.76µs        ? ?/sec    1.17    219.6±3.18µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/plain encoded, optional, no NULLs                                  1.10     36.2±1.50µs        ? ?/sec    1.00     32.9±0.65µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed skip, mandatory, no NULLs                           1.02    112.3±1.17µs        ? ?/sec    1.00    110.4±2.18µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed skip, optional, half NULLs                          1.00    130.1±2.43µs        ? ?/sec    1.00    129.5±0.44µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed skip, optional, no NULLs                            1.01    114.2±0.58µs        ? ?/sec    1.00    113.1±1.89µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed, mandatory, no NULLs                                1.00    162.4±1.69µs        ? ?/sec    1.00    162.5±0.70µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed, optional, half NULLs                               1.00    222.9±3.56µs        ? ?/sec    1.00    222.0±1.60µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed, optional, no NULLs                                 1.00    167.5±4.04µs        ? ?/sec    1.01    168.8±4.05µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/byte_stream_split encoded, mandatory, no NULLs                    1.00     75.8±0.50µs        ? ?/sec    1.01     76.9±1.44µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/byte_stream_split encoded, optional, half NULLs                   1.00    177.3±2.19µs        ? ?/sec    1.00    177.4±0.81µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/byte_stream_split encoded, optional, no NULLs                     1.00     82.8±0.28µs        ? ?/sec    1.00     83.0±1.15µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/dictionary encoded, mandatory, no NULLs                           1.00    135.1±2.63µs        ? ?/sec    1.00    134.9±0.67µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/dictionary encoded, optional, half NULLs                          1.00    210.5±5.24µs        ? ?/sec    1.00    210.9±1.50µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/dictionary encoded, optional, no NULLs                            1.02   143.1±15.48µs        ? ?/sec    1.00    140.5±0.87µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/plain encoded, mandatory, no NULLs                                1.00     73.3±1.01µs        ? ?/sec    1.02     74.8±0.98µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/plain encoded, optional, half NULLs                               1.00    178.1±4.99µs        ? ?/sec    1.00    177.3±2.56µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/plain encoded, optional, no NULLs                                 1.00     79.4±0.82µs        ? ?/sec    1.03     81.7±0.36µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed skip, mandatory, no NULLs                           1.00    108.3±0.30µs        ? ?/sec    1.00    108.2±0.38µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed skip, optional, half NULLs                          1.00    133.8±0.49µs        ? ?/sec    1.00    133.7±0.84µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed skip, optional, no NULLs                            1.00    112.0±1.33µs        ? ?/sec    1.00    111.6±0.31µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed, mandatory, no NULLs                                1.00    162.5±2.38µs        ? ?/sec    1.00    162.0±0.94µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed, optional, half NULLs                               1.00    231.7±1.35µs        ? ?/sec    1.01    233.1±0.97µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed, optional, no NULLs                                 1.00    168.0±2.78µs        ? ?/sec    1.00    167.5±1.28µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/byte_stream_split encoded, mandatory, no NULLs                    1.00    200.7±1.45µs        ? ?/sec    1.01    202.8±2.65µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/byte_stream_split encoded, optional, half NULLs                   1.00    248.2±1.85µs        ? ?/sec    1.01    250.7±1.80µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/byte_stream_split encoded, optional, no NULLs                     1.00    206.7±1.67µs        ? ?/sec    1.01    208.8±0.70µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/dictionary encoded, mandatory, no NULLs                           1.01    153.4±3.29µs        ? ?/sec    1.00    151.7±0.76µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/dictionary encoded, optional, half NULLs                          1.00    222.7±1.54µs        ? ?/sec    1.02    228.1±4.26µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/dictionary encoded, optional, no NULLs                            1.00    158.2±1.94µs        ? ?/sec    1.00    157.9±2.32µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/plain encoded, mandatory, no NULLs                                1.03    106.2±4.00µs        ? ?/sec    1.00    103.6±1.12µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/plain encoded, optional, half NULLs                               1.00    197.7±2.43µs        ? ?/sec    1.00    198.6±2.90µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/plain encoded, optional, no NULLs                                 1.00    113.9±1.41µs        ? ?/sec    1.00    113.9±1.49µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed skip, mandatory, no NULLs                                      1.00     78.1±0.68µs        ? ?/sec    1.00     77.8±2.00µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed skip, optional, half NULLs                                     1.00    102.0±2.69µs        ? ?/sec    1.01    103.4±1.97µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed skip, optional, no NULLs                                       1.00     79.9±1.21µs        ? ?/sec    1.00     80.1±0.99µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed, mandatory, no NULLs                                           1.00    107.7±0.70µs        ? ?/sec    1.00    107.7±1.08µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed, optional, half NULLs                                          1.00    172.7±4.53µs        ? ?/sec    1.02    175.6±5.15µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed, optional, no NULLs                                            1.00    112.1±1.69µs        ? ?/sec    1.00    112.3±1.65µs        ? ?/sec
arrow_array_reader/Int16Array/byte_stream_split encoded, mandatory, no NULLs                               1.04     43.8±0.54µs        ? ?/sec    1.00     41.9±0.56µs        ? ?/sec
arrow_array_reader/Int16Array/byte_stream_split encoded, optional, half NULLs                              1.00    139.2±0.96µs        ? ?/sec    1.01    140.6±3.73µs        ? ?/sec
arrow_array_reader/Int16Array/byte_stream_split encoded, optional, no NULLs                                1.03     47.9±0.46µs        ? ?/sec    1.00     46.4±0.29µs        ? ?/sec
arrow_array_reader/Int16Array/dictionary encoded, mandatory, no NULLs                                      1.01    103.4±1.76µs        ? ?/sec    1.00    102.3±1.58µs        ? ?/sec
arrow_array_reader/Int16Array/dictionary encoded, optional, half NULLs                                     1.00    172.8±2.08µs        ? ?/sec    1.00    173.6±4.45µs        ? ?/sec
arrow_array_reader/Int16Array/dictionary encoded, optional, no NULLs                                       1.01    108.0±0.36µs        ? ?/sec    1.00    106.7±0.81µs        ? ?/sec
arrow_array_reader/Int16Array/plain encoded, mandatory, no NULLs                                           1.00     37.7±0.20µs        ? ?/sec    1.00     37.9±0.22µs        ? ?/sec
arrow_array_reader/Int16Array/plain encoded, optional, half NULLs                                          1.00    136.8±1.94µs        ? ?/sec    1.01    138.0±0.78µs        ? ?/sec
arrow_array_reader/Int16Array/plain encoded, optional, no NULLs                                            1.00     42.2±0.84µs        ? ?/sec    1.01     42.6±0.19µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed skip, mandatory, no NULLs                                      1.00     84.5±0.58µs        ? ?/sec    1.00     84.7±2.99µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed skip, optional, half NULLs                                     1.00    101.7±1.00µs        ? ?/sec    1.00    102.2±1.02µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed skip, optional, no NULLs                                       1.00     87.3±3.41µs        ? ?/sec    1.00     87.4±1.51µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed, mandatory, no NULLs                                           1.01    110.2±4.60µs        ? ?/sec    1.00    109.4±0.50µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed, optional, half NULLs                                          1.00    166.5±2.74µs        ? ?/sec    1.00    166.4±1.86µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed, optional, no NULLs                                            1.00    114.3±2.87µs        ? ?/sec    1.00    114.1±1.93µs        ? ?/sec
arrow_array_reader/Int32Array/byte_stream_split encoded, mandatory, no NULLs                               1.00     25.8±0.21µs        ? ?/sec    1.01     26.0±0.44µs        ? ?/sec
arrow_array_reader/Int32Array/byte_stream_split encoded, optional, half NULLs                              1.00    121.9±2.93µs        ? ?/sec    1.01    123.1±3.58µs        ? ?/sec
arrow_array_reader/Int32Array/byte_stream_split encoded, optional, no NULLs                                1.00     29.8±0.28µs        ? ?/sec    1.02     30.4±0.49µs        ? ?/sec
arrow_array_reader/Int32Array/dictionary encoded, mandatory, no NULLs                                      1.02     86.3±1.20µs        ? ?/sec    1.00     84.3±1.13µs        ? ?/sec
arrow_array_reader/Int32Array/dictionary encoded, optional, half NULLs                                     1.00    156.1±1.05µs        ? ?/sec    1.01   156.9±11.49µs        ? ?/sec
arrow_array_reader/Int32Array/dictionary encoded, optional, no NULLs                                       1.02     90.9±0.42µs        ? ?/sec    1.00     89.1±0.92µs        ? ?/sec
arrow_array_reader/Int32Array/plain encoded, mandatory, no NULLs                                           1.00     17.8±0.43µs        ? ?/sec    1.00     17.8±0.40µs        ? ?/sec
arrow_array_reader/Int32Array/plain encoded, optional, half NULLs                                          1.00    119.1±0.69µs        ? ?/sec    1.01    120.7±1.21µs        ? ?/sec
arrow_array_reader/Int32Array/plain encoded, optional, no NULLs                                            1.00     23.6±0.39µs        ? ?/sec    1.02     24.0±0.42µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed skip, mandatory, no NULLs                                      1.02     82.6±0.54µs        ? ?/sec    1.00     81.3±3.01µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed skip, optional, half NULLs                                     1.00    102.3±0.65µs        ? ?/sec    1.01    102.9±1.74µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed skip, optional, no NULLs                                       1.00     84.2±1.15µs        ? ?/sec    1.00     83.9±1.68µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed, mandatory, no NULLs                                           1.00    111.0±1.97µs        ? ?/sec    1.00    110.8±0.55µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed, optional, half NULLs                                          1.00    166.8±1.13µs        ? ?/sec    1.06    176.4±1.32µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed, optional, no NULLs                                            1.00    111.8±0.77µs        ? ?/sec    1.03    115.6±0.98µs        ? ?/sec
arrow_array_reader/Int64Array/byte_stream_split encoded, mandatory, no NULLs                               1.00    148.3±0.34µs        ? ?/sec    1.00    148.6±0.51µs        ? ?/sec
arrow_array_reader/Int64Array/byte_stream_split encoded, optional, half NULLs                              1.00    192.1±0.86µs        ? ?/sec    1.00    191.9±1.36µs        ? ?/sec
arrow_array_reader/Int64Array/byte_stream_split encoded, optional, no NULLs                                1.00    153.0±0.46µs        ? ?/sec    1.00    153.5±0.63µs        ? ?/sec
arrow_array_reader/Int64Array/dictionary encoded, mandatory, no NULLs                                      1.01    101.7±5.04µs        ? ?/sec    1.00   100.5±10.51µs        ? ?/sec
arrow_array_reader/Int64Array/dictionary encoded, optional, half NULLs                                     1.00    165.1±1.35µs        ? ?/sec    1.00    164.4±0.93µs        ? ?/sec
arrow_array_reader/Int64Array/dictionary encoded, optional, no NULLs                                       1.01    105.0±0.86µs        ? ?/sec    1.00    103.5±1.76µs        ? ?/sec
arrow_array_reader/Int64Array/plain encoded, mandatory, no NULLs                                           1.04     43.7±3.02µs        ? ?/sec    1.00     41.9±1.05µs        ? ?/sec
arrow_array_reader/Int64Array/plain encoded, optional, half NULLs                                          1.00    134.7±2.78µs        ? ?/sec    1.02    137.5±2.95µs        ? ?/sec
arrow_array_reader/Int64Array/plain encoded, optional, no NULLs                                            1.04     50.1±3.13µs        ? ?/sec    1.00     48.4±1.42µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed skip, mandatory, no NULLs                                       1.02     83.6±0.30µs        ? ?/sec    1.00     81.6±1.15µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed skip, optional, half NULLs                                      1.01    103.5±2.38µs        ? ?/sec    1.00    102.4±1.50µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed skip, optional, no NULLs                                        1.03     86.4±0.91µs        ? ?/sec    1.00     84.1±0.42µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed, mandatory, no NULLs                                            1.00    109.1±1.29µs        ? ?/sec    1.00    109.2±1.29µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed, optional, half NULLs                                           1.01    171.6±0.84µs        ? ?/sec    1.00    170.7±1.30µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed, optional, no NULLs                                             1.02    116.8±0.66µs        ? ?/sec    1.00    114.1±2.83µs        ? ?/sec
arrow_array_reader/Int8Array/byte_stream_split encoded, mandatory, no NULLs                                1.00     35.9±0.34µs        ? ?/sec    1.01     36.2±1.06µs        ? ?/sec
arrow_array_reader/Int8Array/byte_stream_split encoded, optional, half NULLs                               1.00    133.2±5.55µs        ? ?/sec    1.00    132.9±2.85µs        ? ?/sec
arrow_array_reader/Int8Array/byte_stream_split encoded, optional, no NULLs                                 1.00     39.9±0.42µs        ? ?/sec    1.01     40.2±0.43µs        ? ?/sec
arrow_array_reader/Int8Array/dictionary encoded, mandatory, no NULLs                                       1.01     95.5±1.13µs        ? ?/sec    1.00     94.2±0.45µs        ? ?/sec
arrow_array_reader/Int8Array/dictionary encoded, optional, half NULLs                                      1.00    165.6±1.99µs        ? ?/sec    1.00    166.4±1.45µs        ? ?/sec
arrow_array_reader/Int8Array/dictionary encoded, optional, no NULLs                                        1.01    100.1±0.52µs        ? ?/sec    1.00     99.0±0.90µs        ? ?/sec
arrow_array_reader/Int8Array/plain encoded, mandatory, no NULLs                                            1.00     29.6±0.21µs        ? ?/sec    1.01     29.8±0.09µs        ? ?/sec
arrow_array_reader/Int8Array/plain encoded, optional, half NULLs                                           1.00    130.0±2.41µs        ? ?/sec    1.00    129.8±3.68µs        ? ?/sec
arrow_array_reader/Int8Array/plain encoded, optional, no NULLs                                             1.00     34.4±0.33µs        ? ?/sec    1.01     35.0±0.18µs        ? ?/sec
arrow_array_reader/ListArray/plain encoded optional strings half NULLs                                     1.00      7.3±0.14ms        ? ?/sec    1.02      7.5±0.18ms        ? ?/sec
arrow_array_reader/ListArray/plain encoded optional strings no NULLs                                       1.00     13.1±0.40ms        ? ?/sec    1.02     13.3±0.60ms        ? ?/sec
arrow_array_reader/StringArray/dictionary encoded, mandatory, no NULLs                                     1.03   517.5±15.26µs        ? ?/sec    1.00   500.9±19.51µs        ? ?/sec
arrow_array_reader/StringArray/dictionary encoded, optional, half NULLs                                    1.03    683.6±6.66µs        ? ?/sec    1.00    663.7±4.42µs        ? ?/sec
arrow_array_reader/StringArray/dictionary encoded, optional, no NULLs                                      1.04    511.7±7.84µs        ? ?/sec    1.00    492.3±5.31µs        ? ?/sec
arrow_array_reader/StringArray/plain encoded, mandatory, no NULLs                                          1.00    640.8±9.15µs        ? ?/sec    1.12    718.4±3.65µs        ? ?/sec
arrow_array_reader/StringArray/plain encoded, optional, half NULLs                                         1.00    794.2±7.44µs        ? ?/sec    1.02   808.8±18.84µs        ? ?/sec
arrow_array_reader/StringArray/plain encoded, optional, no NULLs                                           1.00   650.4±13.14µs        ? ?/sec    1.12    729.8±7.69µs        ? ?/sec
arrow_array_reader/StringDictionary/dictionary encoded, mandatory, no NULLs                                1.01    335.6±4.10µs        ? ?/sec    1.00    331.8±5.39µs        ? ?/sec
arrow_array_reader/StringDictionary/dictionary encoded, optional, half NULLs                               1.07    410.9±3.47µs        ? ?/sec    1.00    385.8±7.28µs        ? ?/sec
arrow_array_reader/StringDictionary/dictionary encoded, optional, no NULLs                                 1.01    340.8±3.95µs        ? ?/sec    1.00    337.0±2.07µs        ? ?/sec
arrow_array_reader/StringViewArray/dictionary encoded, mandatory, no NULLs                                 1.00    252.8±3.56µs        ? ?/sec    1.03    261.6±5.36µs        ? ?/sec
arrow_array_reader/StringViewArray/dictionary encoded, optional, half NULLs                                1.09    251.1±2.55µs        ? ?/sec    1.00    229.8±1.92µs        ? ?/sec
arrow_array_reader/StringViewArray/dictionary encoded, optional, no NULLs                                  1.00    256.7±3.02µs        ? ?/sec    1.00    256.1±2.58µs        ? ?/sec
arrow_array_reader/StringViewArray/plain encoded, mandatory, no NULLs                                      1.13    500.0±7.89µs        ? ?/sec    1.00    444.1±2.78µs        ? ?/sec
arrow_array_reader/StringViewArray/plain encoded, optional, half NULLs                                     1.15   386.8±22.22µs        ? ?/sec    1.00    337.2±3.66µs        ? ?/sec
arrow_array_reader/StringViewArray/plain encoded, optional, no NULLs                                       1.12    508.2±8.79µs        ? ?/sec    1.00   453.9±10.55µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed skip, mandatory, no NULLs                                     1.03     95.6±1.62µs        ? ?/sec    1.00     92.6±0.92µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed skip, optional, half NULLs                                    1.00    111.4±1.75µs        ? ?/sec    1.00    111.6±3.06µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed skip, optional, no NULLs                                      1.02     97.8±1.02µs        ? ?/sec    1.00     95.5±1.82µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed, mandatory, no NULLs                                          1.03    130.2±1.24µs        ? ?/sec    1.00    126.9±0.87µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed, optional, half NULLs                                         1.00    185.4±4.45µs        ? ?/sec    1.00    184.8±0.77µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed, optional, no NULLs                                           1.03    134.9±2.80µs        ? ?/sec    1.00    131.5±1.02µs        ? ?/sec
arrow_array_reader/UInt16Array/byte_stream_split encoded, mandatory, no NULLs                              1.04     43.8±0.62µs        ? ?/sec    1.00     42.1±0.19µs        ? ?/sec
arrow_array_reader/UInt16Array/byte_stream_split encoded, optional, half NULLs                             1.00    139.3±2.44µs        ? ?/sec    1.01    140.5±1.83µs        ? ?/sec
arrow_array_reader/UInt16Array/byte_stream_split encoded, optional, no NULLs                               1.03     47.9±0.22µs        ? ?/sec    1.00     46.7±0.57µs        ? ?/sec
arrow_array_reader/UInt16Array/dictionary encoded, mandatory, no NULLs                                     1.02   104.8±10.42µs        ? ?/sec    1.00    102.4±2.23µs        ? ?/sec
arrow_array_reader/UInt16Array/dictionary encoded, optional, half NULLs                                    1.00    173.0±1.03µs        ? ?/sec    1.01    174.2±4.91µs        ? ?/sec
arrow_array_reader/UInt16Array/dictionary encoded, optional, no NULLs                                      1.01    108.5±2.96µs        ? ?/sec    1.00    107.5±3.54µs        ? ?/sec
arrow_array_reader/UInt16Array/plain encoded, mandatory, no NULLs                                          1.00     37.6±0.26µs        ? ?/sec    1.00     37.7±0.15µs        ? ?/sec
arrow_array_reader/UInt16Array/plain encoded, optional, half NULLs                                         1.00    136.1±1.32µs        ? ?/sec    1.01    137.7±1.14µs        ? ?/sec
arrow_array_reader/UInt16Array/plain encoded, optional, no NULLs                                           1.00     42.4±0.85µs        ? ?/sec    1.00     42.5±0.22µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed skip, mandatory, no NULLs                                     1.01     85.9±1.03µs        ? ?/sec    1.00     85.1±1.24µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed skip, optional, half NULLs                                    1.01    102.8±0.96µs        ? ?/sec    1.00    102.0±1.16µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed skip, optional, no NULLs                                      1.02     90.4±1.18µs        ? ?/sec    1.00     88.4±1.10µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed, mandatory, no NULLs                                          1.01    111.7±0.55µs        ? ?/sec    1.00    110.5±1.48µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed, optional, half NULLs                                         1.00    168.0±0.85µs        ? ?/sec    1.00    167.5±3.27µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed, optional, no NULLs                                           1.01    116.2±0.87µs        ? ?/sec    1.00    115.1±1.60µs        ? ?/sec
arrow_array_reader/UInt32Array/byte_stream_split encoded, mandatory, no NULLs                              1.03     26.5±0.59µs        ? ?/sec    1.00     25.8±0.27µs        ? ?/sec
arrow_array_reader/UInt32Array/byte_stream_split encoded, optional, half NULLs                             1.00    122.6±0.72µs        ? ?/sec    1.00    123.2±0.65µs        ? ?/sec
arrow_array_reader/UInt32Array/byte_stream_split encoded, optional, no NULLs                               1.00     30.3±0.42µs        ? ?/sec    1.00     30.2±0.50µs        ? ?/sec
arrow_array_reader/UInt32Array/dictionary encoded, mandatory, no NULLs                                     1.03     87.3±4.31µs        ? ?/sec    1.00     84.6±1.09µs        ? ?/sec
arrow_array_reader/UInt32Array/dictionary encoded, optional, half NULLs                                    1.01    156.5±3.06µs        ? ?/sec    1.00    155.3±0.76µs        ? ?/sec
arrow_array_reader/UInt32Array/dictionary encoded, optional, no NULLs                                      1.01     90.8±0.86µs        ? ?/sec    1.00     89.6±0.44µs        ? ?/sec
arrow_array_reader/UInt32Array/plain encoded, mandatory, no NULLs                                          1.00     21.3±0.97µs        ? ?/sec    1.02     21.7±1.22µs        ? ?/sec
arrow_array_reader/UInt32Array/plain encoded, optional, half NULLs                                         1.00    119.2±1.25µs        ? ?/sec    1.02    121.2±5.49µs        ? ?/sec
arrow_array_reader/UInt32Array/plain encoded, optional, no NULLs                                           1.01     25.9±1.12µs        ? ?/sec    1.00     25.7±1.14µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed skip, mandatory, no NULLs                                     1.00     82.9±0.73µs        ? ?/sec    1.00     82.6±1.01µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed skip, optional, half NULLs                                    1.00    101.9±0.56µs        ? ?/sec    1.01    102.8±1.67µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed skip, optional, no NULLs                                      1.01     84.1±2.94µs        ? ?/sec    1.00     83.6±0.91µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed, mandatory, no NULLs                                          1.01    110.9±0.53µs        ? ?/sec    1.00    109.9±2.39µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed, optional, half NULLs                                         1.00    166.6±0.56µs        ? ?/sec    1.06    176.6±1.94µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed, optional, no NULLs                                           1.00    114.2±0.80µs        ? ?/sec    1.01    115.2±1.11µs        ? ?/sec
arrow_array_reader/UInt64Array/byte_stream_split encoded, mandatory, no NULLs                              1.00    148.8±0.76µs        ? ?/sec    1.00    148.3±1.77µs        ? ?/sec
arrow_array_reader/UInt64Array/byte_stream_split encoded, optional, half NULLs                             1.00    191.7±2.51µs        ? ?/sec    1.00    192.6±2.05µs        ? ?/sec
arrow_array_reader/UInt64Array/byte_stream_split encoded, optional, no NULLs                               1.00    153.1±0.67µs        ? ?/sec    1.00    153.3±0.76µs        ? ?/sec
arrow_array_reader/UInt64Array/dictionary encoded, mandatory, no NULLs                                     1.00     99.3±0.52µs        ? ?/sec    1.00     98.9±3.13µs        ? ?/sec
arrow_array_reader/UInt64Array/dictionary encoded, optional, half NULLs                                    1.01    165.2±1.44µs        ? ?/sec    1.00    164.4±1.23µs        ? ?/sec
arrow_array_reader/UInt64Array/dictionary encoded, optional, no NULLs                                      1.01    104.0±1.72µs        ? ?/sec    1.00    103.1±0.78µs        ? ?/sec
arrow_array_reader/UInt64Array/plain encoded, mandatory, no NULLs                                          1.00     42.5±2.09µs        ? ?/sec    1.02     43.2±0.97µs        ? ?/sec
arrow_array_reader/UInt64Array/plain encoded, optional, half NULLs                                         1.00    135.6±2.86µs        ? ?/sec    1.00    136.1±2.42µs        ? ?/sec
arrow_array_reader/UInt64Array/plain encoded, optional, no NULLs                                           1.00     47.7±1.84µs        ? ?/sec    1.00     47.5±1.15µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed skip, mandatory, no NULLs                                      1.00     87.9±0.37µs        ? ?/sec    1.00     88.0±0.34µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed skip, optional, half NULLs                                     1.00    105.6±1.11µs        ? ?/sec    1.00    105.7±0.90µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed skip, optional, no NULLs                                       1.00     91.0±2.10µs        ? ?/sec    1.00     90.6±0.44µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed, mandatory, no NULLs                                           1.00    118.1±1.75µs        ? ?/sec    1.00    118.4±4.25µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed, optional, half NULLs                                          1.00    175.0±0.97µs        ? ?/sec    1.01    176.0±3.74µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed, optional, no NULLs                                            1.00    122.4±1.22µs        ? ?/sec    1.00    122.6±0.87µs        ? ?/sec
arrow_array_reader/UInt8Array/byte_stream_split encoded, mandatory, no NULLs                               1.00     35.7±0.14µs        ? ?/sec    1.00     35.7±0.36µs        ? ?/sec
arrow_array_reader/UInt8Array/byte_stream_split encoded, optional, half NULLs                              1.01    133.3±4.50µs        ? ?/sec    1.00    132.5±0.86µs        ? ?/sec
arrow_array_reader/UInt8Array/byte_stream_split encoded, optional, no NULLs                                1.01     40.3±2.37µs        ? ?/sec    1.00     39.9±0.15µs        ? ?/sec
arrow_array_reader/UInt8Array/dictionary encoded, mandatory, no NULLs                                      1.02     95.8±1.35µs        ? ?/sec    1.00     93.5±2.15µs        ? ?/sec
arrow_array_reader/UInt8Array/dictionary encoded, optional, half NULLs                                     1.00    165.3±1.30µs        ? ?/sec    1.01    166.2±0.90µs        ? ?/sec
arrow_array_reader/UInt8Array/dictionary encoded, optional, no NULLs                                       1.02    100.6±1.45µs        ? ?/sec    1.00     98.9±2.01µs        ? ?/sec
arrow_array_reader/UInt8Array/plain encoded, mandatory, no NULLs                                           1.00     29.7±0.18µs        ? ?/sec    1.01     30.0±0.28µs        ? ?/sec
arrow_array_reader/UInt8Array/plain encoded, optional, half NULLs                                          1.00    129.4±2.29µs        ? ?/sec    1.00    129.1±0.60µs        ? ?/sec
arrow_array_reader/UInt8Array/plain encoded, optional, no NULLs                                            1.00     34.4±0.24µs        ? ?/sec    1.01     34.8±0.22µs        ? ?/sec

@alamb-ghbot
Copy link

🤖 ./gh_compare_arrow.sh gh_compare_arrow.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing alamb/less_parquet_view_allocations (2ed62c2) to 96637fc diff
BENCH_NAME=arrow_reader_clickbench
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental --bench arrow_reader_clickbench
BENCH_FILTER=
BENCH_BRANCH_NAME=alamb_less_parquet_view_allocations
Results will be posted here when complete

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

group                                alamb_less_parquet_view_allocations    main
-----                                -----------------------------------    ----
arrow_reader_clickbench/async/Q1     1.01      2.4±0.04ms        ? ?/sec    1.00      2.3±0.04ms        ? ?/sec
arrow_reader_clickbench/async/Q10    1.04     13.5±0.49ms        ? ?/sec    1.00     12.9±0.40ms        ? ?/sec
arrow_reader_clickbench/async/Q11    1.02     15.3±0.63ms        ? ?/sec    1.00     15.0±0.47ms        ? ?/sec
arrow_reader_clickbench/async/Q12    1.02     26.5±0.64ms        ? ?/sec    1.00     25.9±1.00ms        ? ?/sec
arrow_reader_clickbench/async/Q13    1.01     31.6±0.63ms        ? ?/sec    1.00     31.3±0.79ms        ? ?/sec
arrow_reader_clickbench/async/Q14    1.02     29.3±0.75ms        ? ?/sec    1.00     28.8±1.00ms        ? ?/sec
arrow_reader_clickbench/async/Q19    1.00      5.3±0.10ms        ? ?/sec    1.00      5.3±0.14ms        ? ?/sec
arrow_reader_clickbench/async/Q20    1.00    114.0±0.97ms        ? ?/sec    1.08    123.3±1.00ms        ? ?/sec
arrow_reader_clickbench/async/Q21    1.00    131.9±1.22ms        ? ?/sec    1.19    157.2±2.51ms        ? ?/sec
arrow_reader_clickbench/async/Q22    1.00    268.8±9.01ms        ? ?/sec    1.17    313.9±6.71ms        ? ?/sec
arrow_reader_clickbench/async/Q23    1.00    404.0±4.15ms        ? ?/sec    1.01    409.4±2.85ms        ? ?/sec
arrow_reader_clickbench/async/Q24    1.00     34.6±1.09ms        ? ?/sec    1.01     34.8±0.64ms        ? ?/sec
arrow_reader_clickbench/async/Q27    1.00     98.9±0.96ms        ? ?/sec    1.03    101.5±0.87ms        ? ?/sec
arrow_reader_clickbench/async/Q28    1.00     97.8±1.15ms        ? ?/sec    1.02     99.8±0.94ms        ? ?/sec
arrow_reader_clickbench/async/Q30    1.00     30.9±0.66ms        ? ?/sec    1.00     31.0±0.77ms        ? ?/sec
arrow_reader_clickbench/async/Q36    1.00    107.9±0.82ms        ? ?/sec    1.02    110.1±0.80ms        ? ?/sec
arrow_reader_clickbench/async/Q37    1.00     84.7±0.61ms        ? ?/sec    1.01     85.9±0.69ms        ? ?/sec
arrow_reader_clickbench/async/Q38    1.00     32.7±0.52ms        ? ?/sec    1.03     33.6±0.60ms        ? ?/sec
arrow_reader_clickbench/async/Q39    1.00     46.0±0.66ms        ? ?/sec    1.02     47.0±1.46ms        ? ?/sec
arrow_reader_clickbench/async/Q40    1.01     27.8±0.57ms        ? ?/sec    1.00     27.5±0.79ms        ? ?/sec
arrow_reader_clickbench/async/Q41    1.03     22.7±0.48ms        ? ?/sec    1.00     22.0±0.61ms        ? ?/sec
arrow_reader_clickbench/async/Q42    1.01     11.2±0.24ms        ? ?/sec    1.00     11.1±0.33ms        ? ?/sec
arrow_reader_clickbench/sync/Q1      1.00      2.1±0.04ms        ? ?/sec    1.00      2.1±0.08ms        ? ?/sec
arrow_reader_clickbench/sync/Q10     1.03     10.2±0.07ms        ? ?/sec    1.00      9.9±0.12ms        ? ?/sec
arrow_reader_clickbench/sync/Q11     1.04     12.0±0.33ms        ? ?/sec    1.00     11.5±0.13ms        ? ?/sec
arrow_reader_clickbench/sync/Q12     1.01     34.4±1.86ms        ? ?/sec    1.00     34.2±0.72ms        ? ?/sec
arrow_reader_clickbench/sync/Q13     1.00     38.5±0.68ms        ? ?/sec    1.25     48.0±1.08ms        ? ?/sec
arrow_reader_clickbench/sync/Q14     1.00     36.3±0.65ms        ? ?/sec    1.26     45.8±1.25ms        ? ?/sec
arrow_reader_clickbench/sync/Q19     1.00      4.3±0.09ms        ? ?/sec    1.00      4.3±0.10ms        ? ?/sec
arrow_reader_clickbench/sync/Q20     1.00    174.0±1.17ms        ? ?/sec    1.02    177.6±1.17ms        ? ?/sec
arrow_reader_clickbench/sync/Q21     1.00    231.0±1.72ms        ? ?/sec    1.02    235.8±2.93ms        ? ?/sec
arrow_reader_clickbench/sync/Q22     1.00    470.9±3.30ms        ? ?/sec    1.02    482.3±4.82ms        ? ?/sec
arrow_reader_clickbench/sync/Q23     1.01   439.1±16.98ms        ? ?/sec    1.00   435.0±14.24ms        ? ?/sec
arrow_reader_clickbench/sync/Q24     1.00     43.9±0.92ms        ? ?/sec    1.04     45.8±0.74ms        ? ?/sec
arrow_reader_clickbench/sync/Q27     1.00    150.8±1.43ms        ? ?/sec    1.03    155.3±2.00ms        ? ?/sec
arrow_reader_clickbench/sync/Q28     1.00    146.7±1.24ms        ? ?/sec    1.02    149.1±1.10ms        ? ?/sec
arrow_reader_clickbench/sync/Q30     1.00     31.0±0.70ms        ? ?/sec    1.00     31.0±0.89ms        ? ?/sec
arrow_reader_clickbench/sync/Q36     1.00    151.8±1.95ms        ? ?/sec    1.02    155.2±2.27ms        ? ?/sec
arrow_reader_clickbench/sync/Q37     1.00     89.1±2.01ms        ? ?/sec    1.01     90.2±1.14ms        ? ?/sec
arrow_reader_clickbench/sync/Q38     1.00     29.1±0.52ms        ? ?/sec    1.01     29.4±0.88ms        ? ?/sec
arrow_reader_clickbench/sync/Q39     1.00     33.9±0.63ms        ? ?/sec    1.02     34.7±0.76ms        ? ?/sec
arrow_reader_clickbench/sync/Q40     1.00     26.3±0.45ms        ? ?/sec    1.04     27.4±1.23ms        ? ?/sec
arrow_reader_clickbench/sync/Q41     1.00     29.1±0.42ms        ? ?/sec    1.01     29.3±0.99ms        ? ?/sec
arrow_reader_clickbench/sync/Q42     1.00     12.8±0.27ms        ? ?/sec    1.00     12.8±0.31ms        ? ?/sec

@alamb alamb marked this pull request as draft January 10, 2026 12:11
@alamb
Copy link
Contributor Author

alamb commented Jan 10, 2026

run benchmark arrow_reader

@alamb
Copy link
Contributor Author

alamb commented Jan 10, 2026

This appears to show reading StringView getting slower. I will try and reproduce

@alamb-ghbot
Copy link

🤖 ./gh_compare_arrow.sh gh_compare_arrow.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing alamb/less_parquet_view_allocations (2ed62c2) to 96637fc diff
BENCH_NAME=arrow_reader
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental --bench arrow_reader
BENCH_FILTER=
BENCH_BRANCH_NAME=alamb_less_parquet_view_allocations
Results will be posted here when complete

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

group                                                                                                      alamb_less_parquet_view_allocations    main
-----                                                                                                      -----------------------------------    ----
arrow_array_reader/BYTE_ARRAY/Decimal128Array/plain encoded, mandatory, no NULLs                           1.00  1242.4±12.77µs        ? ?/sec    1.02   1269.3±8.70µs        ? ?/sec
arrow_array_reader/BYTE_ARRAY/Decimal128Array/plain encoded, optional, half NULLs                          1.00  1298.8±12.21µs        ? ?/sec    1.00  1294.5±18.86µs        ? ?/sec
arrow_array_reader/BYTE_ARRAY/Decimal128Array/plain encoded, optional, no NULLs                            1.00  1250.1±20.41µs        ? ?/sec    1.03  1281.6±12.16µs        ? ?/sec
arrow_array_reader/BinaryArray/dictionary encoded, mandatory, no NULLs                                     1.06   498.6±14.62µs        ? ?/sec    1.00    471.9±5.91µs        ? ?/sec
arrow_array_reader/BinaryArray/dictionary encoded, optional, half NULLs                                    1.07   696.3±10.19µs        ? ?/sec    1.00    650.2±8.79µs        ? ?/sec
arrow_array_reader/BinaryArray/dictionary encoded, optional, no NULLs                                      1.08    516.2±6.73µs        ? ?/sec    1.00    477.9±6.91µs        ? ?/sec
arrow_array_reader/BinaryArray/plain encoded, mandatory, no NULLs                                          1.00   550.0±11.38µs        ? ?/sec    1.05    575.9±8.06µs        ? ?/sec
arrow_array_reader/BinaryArray/plain encoded, optional, half NULLs                                         1.01    742.8±6.35µs        ? ?/sec    1.00    738.4±7.37µs        ? ?/sec
arrow_array_reader/BinaryArray/plain encoded, optional, no NULLs                                           1.00    556.2±8.77µs        ? ?/sec    1.05    585.9±7.26µs        ? ?/sec
arrow_array_reader/BinaryViewArray/dictionary encoded, mandatory, no NULLs                                 1.00    249.7±4.60µs        ? ?/sec    1.04    258.8±6.82µs        ? ?/sec
arrow_array_reader/BinaryViewArray/dictionary encoded, optional, half NULLs                                1.06   251.3±19.79µs        ? ?/sec    1.00    237.8±1.27µs        ? ?/sec
arrow_array_reader/BinaryViewArray/dictionary encoded, optional, no NULLs                                  1.00    254.4±6.48µs        ? ?/sec    1.03    261.2±3.26µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, mandatory, no NULLs                                      1.27    371.2±7.44µs        ? ?/sec    1.00    292.7±5.69µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, mandatory, no NULLs, short string                        1.13    346.1±5.71µs        ? ?/sec    1.00    305.7±4.26µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, optional, half NULLs                                     1.21    320.4±4.82µs        ? ?/sec    1.00    265.5±3.50µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, optional, no NULLs                                       1.26    378.0±4.65µs        ? ?/sec    1.00    299.4±5.31µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/byte_stream_split encoded, mandatory, no NULLs     1.00   1053.6±5.23µs        ? ?/sec    1.02   1070.1±9.63µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/byte_stream_split encoded, optional, half NULLs    1.00   898.0±28.22µs        ? ?/sec    1.05    945.3±9.24µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/byte_stream_split encoded, optional, no NULLs      1.00  1063.8±16.97µs        ? ?/sec    1.02  1086.1±55.42µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/plain encoded, mandatory, no NULLs                 1.08    431.0±3.10µs        ? ?/sec    1.00    399.5±5.06µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/plain encoded, optional, half NULLs                1.00   581.7±13.59µs        ? ?/sec    1.02    592.0±5.64µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/plain encoded, optional, no NULLs                  1.07    443.3±3.49µs        ? ?/sec    1.00    413.0±6.87µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/byte_stream_split encoded, mandatory, no NULLs        1.00    194.3±1.44µs        ? ?/sec    1.05    203.0±4.61µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/byte_stream_split encoded, optional, half NULLs       1.06    336.8±1.96µs        ? ?/sec    1.00    317.2±5.77µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/byte_stream_split encoded, optional, no NULLs         1.00    200.4±1.06µs        ? ?/sec    1.04    207.9±4.58µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/plain encoded, mandatory, no NULLs                    1.00    118.6±2.69µs        ? ?/sec    1.00    118.3±0.85µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/plain encoded, optional, half NULLs                   1.09    298.8±1.42µs        ? ?/sec    1.00    275.2±4.05µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/plain encoded, optional, no NULLs                     1.00    124.2±1.02µs        ? ?/sec    1.00    123.8±0.45µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/byte_stream_split encoded, mandatory, no NULLs                    1.00   700.6±27.20µs        ? ?/sec    1.06   740.1±11.09µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/byte_stream_split encoded, optional, half NULLs                   1.00   532.7±16.24µs        ? ?/sec    1.12    597.4±9.68µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/byte_stream_split encoded, optional, no NULLs                     1.00   705.7±14.54µs        ? ?/sec    1.06    746.2±8.25µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/plain encoded, mandatory, no NULLs                                1.38     88.1±4.57µs        ? ?/sec    1.00     63.9±3.48µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/plain encoded, optional, half NULLs                               1.00    222.7±3.34µs        ? ?/sec    1.16    258.2±2.48µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/plain encoded, optional, no NULLs                                 1.34     93.1±2.79µs        ? ?/sec    1.00     69.4±2.18µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/byte_stream_split encoded, mandatory, no NULLs                     1.00     85.7±0.72µs        ? ?/sec    1.10     94.1±0.69µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/byte_stream_split encoded, optional, half NULLs                    1.09    227.8±6.06µs        ? ?/sec    1.00    208.9±8.32µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/byte_stream_split encoded, optional, no NULLs                      1.00     91.7±2.39µs        ? ?/sec    1.08     99.4±1.30µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/plain encoded, mandatory, no NULLs                                 1.00      9.0±0.16µs        ? ?/sec    1.02      9.1±0.25µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/plain encoded, optional, half NULLs                                1.14    188.2±0.69µs        ? ?/sec    1.00    165.2±1.37µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/plain encoded, optional, no NULLs                                  1.00     14.1±0.21µs        ? ?/sec    1.01     14.2±0.25µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/byte_stream_split encoded, mandatory, no NULLs                     1.00    170.3±1.60µs        ? ?/sec    1.08    184.8±4.69µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/byte_stream_split encoded, optional, half NULLs                    1.05   348.1±52.90µs        ? ?/sec    1.00   332.7±15.56µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/byte_stream_split encoded, optional, no NULLs                      1.00    176.0±1.50µs        ? ?/sec    1.08    189.8±1.25µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/plain encoded, mandatory, no NULLs                                 1.06     15.2±0.44µs        ? ?/sec    1.00     14.3±0.45µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/plain encoded, optional, half NULLs                                1.05    258.2±2.94µs        ? ?/sec    1.00    246.4±4.85µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/plain encoded, optional, no NULLs                                  1.02     20.4±0.62µs        ? ?/sec    1.00     20.1±0.90µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/byte_stream_split encoded, mandatory, no NULLs                     1.00    340.7±3.48µs        ? ?/sec    1.08    368.8±8.35µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/byte_stream_split encoded, optional, half NULLs                    1.00   346.3±13.67µs        ? ?/sec    1.12    388.3±4.30µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/byte_stream_split encoded, optional, no NULLs                      1.00   349.7±12.73µs        ? ?/sec    1.07    375.7±6.87µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/plain encoded, mandatory, no NULLs                                 1.01     28.8±1.52µs        ? ?/sec    1.00     28.4±0.44µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/plain encoded, optional, half NULLs                                1.00    187.1±2.57µs        ? ?/sec    1.18    219.9±2.29µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/plain encoded, optional, no NULLs                                  1.03     35.6±1.47µs        ? ?/sec    1.00     34.5±0.88µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed skip, mandatory, no NULLs                           1.01    111.5±1.64µs        ? ?/sec    1.00    110.5±0.74µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed skip, optional, half NULLs                          1.00    130.7±1.44µs        ? ?/sec    1.01    131.9±3.81µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed skip, optional, no NULLs                            1.00    114.5±1.19µs        ? ?/sec    1.00    114.6±2.59µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed, mandatory, no NULLs                                1.01    162.8±3.67µs        ? ?/sec    1.00    160.7±2.01µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed, optional, half NULLs                               1.05   234.1±41.38µs        ? ?/sec    1.00    224.0±1.51µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed, optional, no NULLs                                 1.00    167.5±3.25µs        ? ?/sec    1.00    166.7±2.02µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/byte_stream_split encoded, mandatory, no NULLs                    1.00     76.0±0.33µs        ? ?/sec    1.01     76.5±0.62µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/byte_stream_split encoded, optional, half NULLs                   1.00    178.4±3.30µs        ? ?/sec    1.00    177.9±4.50µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/byte_stream_split encoded, optional, no NULLs                     1.00     83.1±1.27µs        ? ?/sec    1.00     82.9±0.41µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/dictionary encoded, mandatory, no NULLs                           1.00    134.9±1.25µs        ? ?/sec    1.01    136.4±2.97µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/dictionary encoded, optional, half NULLs                          1.00    210.3±2.98µs        ? ?/sec    1.01    212.4±1.79µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/dictionary encoded, optional, no NULLs                            1.00    140.7±2.08µs        ? ?/sec    1.01    141.6±0.90µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/plain encoded, mandatory, no NULLs                                1.00     74.3±1.55µs        ? ?/sec    1.02     75.8±1.38µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/plain encoded, optional, half NULLs                               1.00    177.8±1.45µs        ? ?/sec    1.00    177.7±1.31µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/plain encoded, optional, no NULLs                                 1.00     77.8±0.86µs        ? ?/sec    1.03     80.0±0.66µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed skip, mandatory, no NULLs                           1.00    108.8±1.03µs        ? ?/sec    1.01    110.2±1.60µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed skip, optional, half NULLs                          1.01    134.6±2.54µs        ? ?/sec    1.00    133.5±0.55µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed skip, optional, no NULLs                            1.00    112.1±1.00µs        ? ?/sec    1.00    112.3±1.34µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed, mandatory, no NULLs                                1.00    163.5±2.56µs        ? ?/sec    1.00    163.6±1.46µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed, optional, half NULLs                               1.00    233.3±5.08µs        ? ?/sec    1.00    233.3±2.20µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed, optional, no NULLs                                 1.00    168.2±2.58µs        ? ?/sec    1.01    169.8±0.84µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/byte_stream_split encoded, mandatory, no NULLs                    1.00    200.6±0.78µs        ? ?/sec    1.00    201.6±0.47µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/byte_stream_split encoded, optional, half NULLs                   1.01    249.4±2.10µs        ? ?/sec    1.00    247.9±2.48µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/byte_stream_split encoded, optional, no NULLs                     1.00    207.4±2.50µs        ? ?/sec    1.00    208.3±2.17µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/dictionary encoded, mandatory, no NULLs                           1.01    153.2±2.39µs        ? ?/sec    1.00    151.2±2.72µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/dictionary encoded, optional, half NULLs                          1.01    222.9±2.73µs        ? ?/sec    1.00    221.6±3.53µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/dictionary encoded, optional, no NULLs                            1.02    158.1±2.67µs        ? ?/sec    1.00    155.6±1.22µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/plain encoded, mandatory, no NULLs                                1.00    106.0±1.69µs        ? ?/sec    1.01    107.1±1.77µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/plain encoded, optional, half NULLs                               1.02    200.3±2.50µs        ? ?/sec    1.00    195.9±2.13µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/plain encoded, optional, no NULLs                                 1.01    115.4±2.17µs        ? ?/sec    1.00    114.0±1.42µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed skip, mandatory, no NULLs                                      1.00     78.0±0.43µs        ? ?/sec    1.03     80.3±3.01µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed skip, optional, half NULLs                                     1.00    102.2±2.41µs        ? ?/sec    1.02    104.4±0.95µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed skip, optional, no NULLs                                       1.00     80.2±1.79µs        ? ?/sec    1.03     82.5±2.33µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed, mandatory, no NULLs                                           1.00    107.6±0.27µs        ? ?/sec    1.02    109.7±3.06µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed, optional, half NULLs                                          1.00    172.7±1.15µs        ? ?/sec    1.01    174.6±1.01µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed, optional, no NULLs                                            1.00    112.2±1.98µs        ? ?/sec    1.01    112.8±1.77µs        ? ?/sec
arrow_array_reader/Int16Array/byte_stream_split encoded, mandatory, no NULLs                               1.00     43.8±0.36µs        ? ?/sec    1.00     43.8±0.17µs        ? ?/sec
arrow_array_reader/Int16Array/byte_stream_split encoded, optional, half NULLs                              1.00    139.7±1.51µs        ? ?/sec    1.01    140.9±2.13µs        ? ?/sec
arrow_array_reader/Int16Array/byte_stream_split encoded, optional, no NULLs                                1.00     47.8±0.25µs        ? ?/sec    1.01     48.1±0.20µs        ? ?/sec
arrow_array_reader/Int16Array/dictionary encoded, mandatory, no NULLs                                      1.01    103.6±2.22µs        ? ?/sec    1.00    102.2±1.46µs        ? ?/sec
arrow_array_reader/Int16Array/dictionary encoded, optional, half NULLs                                     1.00    173.5±1.87µs        ? ?/sec    1.00    174.4±1.22µs        ? ?/sec
arrow_array_reader/Int16Array/dictionary encoded, optional, no NULLs                                       1.01    108.5±1.47µs        ? ?/sec    1.00    107.3±1.20µs        ? ?/sec
arrow_array_reader/Int16Array/plain encoded, mandatory, no NULLs                                           1.00     37.7±0.19µs        ? ?/sec    1.00     37.8±0.30µs        ? ?/sec
arrow_array_reader/Int16Array/plain encoded, optional, half NULLs                                          1.00    137.4±3.06µs        ? ?/sec    1.01    138.3±1.39µs        ? ?/sec
arrow_array_reader/Int16Array/plain encoded, optional, no NULLs                                            1.00     42.1±0.22µs        ? ?/sec    1.04     43.6±0.13µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed skip, mandatory, no NULLs                                      1.00     84.8±3.00µs        ? ?/sec    1.00     84.7±0.83µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed skip, optional, half NULLs                                     1.00    101.8±1.19µs        ? ?/sec    1.01    103.2±2.05µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed skip, optional, no NULLs                                       1.00     86.9±0.78µs        ? ?/sec    1.01     87.6±0.41µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed, mandatory, no NULLs                                           1.00    109.7±0.64µs        ? ?/sec    1.01    111.3±3.82µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed, optional, half NULLs                                          1.00    167.2±1.73µs        ? ?/sec    1.00    167.5±1.02µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed, optional, no NULLs                                            1.00    114.2±0.62µs        ? ?/sec    1.01    115.0±0.90µs        ? ?/sec
arrow_array_reader/Int32Array/byte_stream_split encoded, mandatory, no NULLs                               1.00     26.0±0.30µs        ? ?/sec    1.01     26.3±0.56µs        ? ?/sec
arrow_array_reader/Int32Array/byte_stream_split encoded, optional, half NULLs                              1.00    122.1±2.50µs        ? ?/sec    1.01    123.9±2.94µs        ? ?/sec
arrow_array_reader/Int32Array/byte_stream_split encoded, optional, no NULLs                                1.00     29.8±0.27µs        ? ?/sec    1.04     31.0±0.60µs        ? ?/sec
arrow_array_reader/Int32Array/dictionary encoded, mandatory, no NULLs                                      1.03     86.9±2.19µs        ? ?/sec    1.00     84.1±0.57µs        ? ?/sec
arrow_array_reader/Int32Array/dictionary encoded, optional, half NULLs                                     1.00    157.0±1.17µs        ? ?/sec    1.00    157.1±2.45µs        ? ?/sec
arrow_array_reader/Int32Array/dictionary encoded, optional, no NULLs                                       1.02     91.4±0.51µs        ? ?/sec    1.00     89.6±1.47µs        ? ?/sec
arrow_array_reader/Int32Array/plain encoded, mandatory, no NULLs                                           1.00     18.1±0.75µs        ? ?/sec    1.00     18.1±0.60µs        ? ?/sec
arrow_array_reader/Int32Array/plain encoded, optional, half NULLs                                          1.00    120.0±2.81µs        ? ?/sec    1.01    121.2±1.68µs        ? ?/sec
arrow_array_reader/Int32Array/plain encoded, optional, no NULLs                                            1.00     23.6±0.40µs        ? ?/sec    1.05     24.7±0.71µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed skip, mandatory, no NULLs                                      1.02     82.9±1.48µs        ? ?/sec    1.00     81.0±0.58µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed skip, optional, half NULLs                                     1.00    102.6±1.10µs        ? ?/sec    1.01    103.3±1.92µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed skip, optional, no NULLs                                       1.00     83.7±0.51µs        ? ?/sec    1.00     84.0±0.63µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed, mandatory, no NULLs                                           1.00    111.4±0.69µs        ? ?/sec    1.00    111.7±2.03µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed, optional, half NULLs                                          1.00   169.4±14.39µs        ? ?/sec    1.04    176.6±2.23µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed, optional, no NULLs                                            1.00    111.7±0.61µs        ? ?/sec    1.04    116.3±1.22µs        ? ?/sec
arrow_array_reader/Int64Array/byte_stream_split encoded, mandatory, no NULLs                               1.01    149.0±0.76µs        ? ?/sec    1.00    148.1±1.74µs        ? ?/sec
arrow_array_reader/Int64Array/byte_stream_split encoded, optional, half NULLs                              1.00    192.6±1.46µs        ? ?/sec    1.01    194.3±1.00µs        ? ?/sec
arrow_array_reader/Int64Array/byte_stream_split encoded, optional, no NULLs                                1.01    154.3±2.30µs        ? ?/sec    1.00    153.1±0.90µs        ? ?/sec
arrow_array_reader/Int64Array/dictionary encoded, mandatory, no NULLs                                      1.02    100.8±0.72µs        ? ?/sec    1.00     99.0±2.10µs        ? ?/sec
arrow_array_reader/Int64Array/dictionary encoded, optional, half NULLs                                     1.00    166.0±2.47µs        ? ?/sec    1.00    165.6±2.43µs        ? ?/sec
arrow_array_reader/Int64Array/dictionary encoded, optional, no NULLs                                       1.03    105.9±1.00µs        ? ?/sec    1.00    103.3±1.18µs        ? ?/sec
arrow_array_reader/Int64Array/plain encoded, mandatory, no NULLs                                           1.00     42.6±2.21µs        ? ?/sec    1.07     45.7±2.53µs        ? ?/sec
arrow_array_reader/Int64Array/plain encoded, optional, half NULLs                                          1.00    135.7±4.28µs        ? ?/sec    1.00    135.9±2.04µs        ? ?/sec
arrow_array_reader/Int64Array/plain encoded, optional, no NULLs                                            1.00     49.4±1.55µs        ? ?/sec    1.01     49.8±1.72µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed skip, mandatory, no NULLs                                       1.02     83.9±2.02µs        ? ?/sec    1.00     82.0±0.61µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed skip, optional, half NULLs                                      1.01    104.6±6.62µs        ? ?/sec    1.00    103.8±1.98µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed skip, optional, no NULLs                                        1.02     86.2±0.46µs        ? ?/sec    1.00     84.7±0.74µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed, mandatory, no NULLs                                            1.00    109.1±0.88µs        ? ?/sec    1.01    109.7±1.14µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed, optional, half NULLs                                           1.01    173.4±8.45µs        ? ?/sec    1.00    172.4±2.31µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed, optional, no NULLs                                             1.02    116.9±2.31µs        ? ?/sec    1.00    114.8±1.86µs        ? ?/sec
arrow_array_reader/Int8Array/byte_stream_split encoded, mandatory, no NULLs                                1.00     36.0±0.56µs        ? ?/sec    1.00     36.1±0.75µs        ? ?/sec
arrow_array_reader/Int8Array/byte_stream_split encoded, optional, half NULLs                               1.00    132.1±1.03µs        ? ?/sec    1.00    132.7±1.03µs        ? ?/sec
arrow_array_reader/Int8Array/byte_stream_split encoded, optional, no NULLs                                 1.00     39.9±0.78µs        ? ?/sec    1.02     40.7±0.17µs        ? ?/sec
arrow_array_reader/Int8Array/dictionary encoded, mandatory, no NULLs                                       1.01     95.8±1.20µs        ? ?/sec    1.00     94.5±2.00µs        ? ?/sec
arrow_array_reader/Int8Array/dictionary encoded, optional, half NULLs                                      1.00    166.1±2.03µs        ? ?/sec    1.01    167.3±1.60µs        ? ?/sec
arrow_array_reader/Int8Array/dictionary encoded, optional, no NULLs                                        1.01    100.3±0.56µs        ? ?/sec    1.00     99.6±0.69µs        ? ?/sec
arrow_array_reader/Int8Array/plain encoded, mandatory, no NULLs                                            1.00     29.7±0.27µs        ? ?/sec    1.01     30.1±0.31µs        ? ?/sec
arrow_array_reader/Int8Array/plain encoded, optional, half NULLs                                           1.00    131.2±5.75µs        ? ?/sec    1.00    130.6±2.28µs        ? ?/sec
arrow_array_reader/Int8Array/plain encoded, optional, no NULLs                                             1.00     34.5±0.28µs        ? ?/sec    1.01     35.0±0.68µs        ? ?/sec
arrow_array_reader/ListArray/plain encoded optional strings half NULLs                                     1.00      7.2±0.11ms        ? ?/sec    1.03      7.5±0.13ms        ? ?/sec
arrow_array_reader/ListArray/plain encoded optional strings no NULLs                                       1.00     12.8±0.25ms        ? ?/sec    1.03     13.2±0.19ms        ? ?/sec
arrow_array_reader/StringArray/dictionary encoded, mandatory, no NULLs                                     1.04   514.4±16.12µs        ? ?/sec    1.00    495.5±9.61µs        ? ?/sec
arrow_array_reader/StringArray/dictionary encoded, optional, half NULLs                                    1.03    684.7±7.79µs        ? ?/sec    1.00    664.6±8.33µs        ? ?/sec
arrow_array_reader/StringArray/dictionary encoded, optional, no NULLs                                      1.03    509.6±8.70µs        ? ?/sec    1.00    496.6±4.77µs        ? ?/sec
arrow_array_reader/StringArray/plain encoded, mandatory, no NULLs                                          1.00    642.6±7.02µs        ? ?/sec    1.13   727.6±13.85µs        ? ?/sec
arrow_array_reader/StringArray/plain encoded, optional, half NULLs                                         1.00    794.7±8.94µs        ? ?/sec    1.02   807.4±10.35µs        ? ?/sec
arrow_array_reader/StringArray/plain encoded, optional, no NULLs                                           1.00    650.0±8.16µs        ? ?/sec    1.13   735.9±14.79µs        ? ?/sec
arrow_array_reader/StringDictionary/dictionary encoded, mandatory, no NULLs                                1.02   339.0±10.00µs        ? ?/sec    1.00    331.6±7.06µs        ? ?/sec
arrow_array_reader/StringDictionary/dictionary encoded, optional, half NULLs                               1.07    411.8±3.88µs        ? ?/sec    1.00    384.2±6.01µs        ? ?/sec
arrow_array_reader/StringDictionary/dictionary encoded, optional, no NULLs                                 1.02    341.9±3.07µs        ? ?/sec    1.00    336.8±4.56µs        ? ?/sec
arrow_array_reader/StringViewArray/dictionary encoded, mandatory, no NULLs                                 1.01    252.0±7.09µs        ? ?/sec    1.00    248.4±2.88µs        ? ?/sec
arrow_array_reader/StringViewArray/dictionary encoded, optional, half NULLs                                1.05    251.2±2.20µs        ? ?/sec    1.00    239.1±2.46µs        ? ?/sec
arrow_array_reader/StringViewArray/dictionary encoded, optional, no NULLs                                  1.00    255.6±4.73µs        ? ?/sec    1.04    266.9±8.59µs        ? ?/sec
arrow_array_reader/StringViewArray/plain encoded, mandatory, no NULLs                                      1.12    497.8±2.89µs        ? ?/sec    1.00   444.4±11.93µs        ? ?/sec
arrow_array_reader/StringViewArray/plain encoded, optional, half NULLs                                     1.14   383.4±10.48µs        ? ?/sec    1.00    336.0±3.78µs        ? ?/sec
arrow_array_reader/StringViewArray/plain encoded, optional, no NULLs                                       1.13   511.9±19.16µs        ? ?/sec    1.00    453.8±3.75µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed skip, mandatory, no NULLs                                     1.03     95.5±0.95µs        ? ?/sec    1.00     93.0±2.65µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed skip, optional, half NULLs                                    1.01    112.2±4.05µs        ? ?/sec    1.00    111.3±1.12µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed skip, optional, no NULLs                                      1.03     98.0±0.89µs        ? ?/sec    1.00     95.4±1.18µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed, mandatory, no NULLs                                          1.03    131.5±6.20µs        ? ?/sec    1.00    127.2±2.53µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed, optional, half NULLs                                         1.00    186.0±3.88µs        ? ?/sec    1.00    185.1±1.37µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed, optional, no NULLs                                           1.02    134.7±1.39µs        ? ?/sec    1.00    131.9±1.45µs        ? ?/sec
arrow_array_reader/UInt16Array/byte_stream_split encoded, mandatory, no NULLs                              1.00     43.8±0.19µs        ? ?/sec    1.00     43.6±0.38µs        ? ?/sec
arrow_array_reader/UInt16Array/byte_stream_split encoded, optional, half NULLs                             1.00    139.5±1.74µs        ? ?/sec    1.01    140.5±2.84µs        ? ?/sec
arrow_array_reader/UInt16Array/byte_stream_split encoded, optional, no NULLs                               1.00     47.8±0.66µs        ? ?/sec    1.01     48.1±0.29µs        ? ?/sec
arrow_array_reader/UInt16Array/dictionary encoded, mandatory, no NULLs                                     1.02    103.5±1.25µs        ? ?/sec    1.00    101.8±0.79µs        ? ?/sec
arrow_array_reader/UInt16Array/dictionary encoded, optional, half NULLs                                    1.00    173.6±1.78µs        ? ?/sec    1.01    174.5±1.92µs        ? ?/sec
arrow_array_reader/UInt16Array/dictionary encoded, optional, no NULLs                                      1.01    108.5±0.79µs        ? ?/sec    1.00    107.0±2.28µs        ? ?/sec
arrow_array_reader/UInt16Array/plain encoded, mandatory, no NULLs                                          1.00     37.8±0.33µs        ? ?/sec    1.00     37.9±0.19µs        ? ?/sec
arrow_array_reader/UInt16Array/plain encoded, optional, half NULLs                                         1.00    138.4±4.98µs        ? ?/sec    1.00    138.3±2.77µs        ? ?/sec
arrow_array_reader/UInt16Array/plain encoded, optional, no NULLs                                           1.00     42.4±0.47µs        ? ?/sec    1.01     42.8±1.24µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed skip, mandatory, no NULLs                                     1.02     86.4±1.47µs        ? ?/sec    1.00     84.9±0.69µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed skip, optional, half NULLs                                    1.00    103.0±1.17µs        ? ?/sec    1.00    103.0±3.09µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed skip, optional, no NULLs                                      1.02     88.9±2.45µs        ? ?/sec    1.00     87.3±1.22µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed, mandatory, no NULLs                                          1.01    112.5±1.93µs        ? ?/sec    1.00    111.7±4.66µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed, optional, half NULLs                                         1.01    169.6±3.58µs        ? ?/sec    1.00    167.6±1.98µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed, optional, no NULLs                                           1.01    116.0±0.90µs        ? ?/sec    1.00    115.0±1.10µs        ? ?/sec
arrow_array_reader/UInt32Array/byte_stream_split encoded, mandatory, no NULLs                              1.02     26.6±0.57µs        ? ?/sec    1.00     26.1±0.40µs        ? ?/sec
arrow_array_reader/UInt32Array/byte_stream_split encoded, optional, half NULLs                             1.00    123.0±2.65µs        ? ?/sec    1.01    123.7±2.33µs        ? ?/sec
arrow_array_reader/UInt32Array/byte_stream_split encoded, optional, no NULLs                               1.00     30.6±0.43µs        ? ?/sec    1.00     30.5±0.29µs        ? ?/sec
arrow_array_reader/UInt32Array/dictionary encoded, mandatory, no NULLs                                     1.02     87.1±2.07µs        ? ?/sec    1.00     85.3±0.46µs        ? ?/sec
arrow_array_reader/UInt32Array/dictionary encoded, optional, half NULLs                                    1.00    156.3±1.39µs        ? ?/sec    1.01    158.4±9.62µs        ? ?/sec
arrow_array_reader/UInt32Array/dictionary encoded, optional, no NULLs                                      1.02     91.5±0.95µs        ? ?/sec    1.00     89.9±1.98µs        ? ?/sec
arrow_array_reader/UInt32Array/plain encoded, mandatory, no NULLs                                          1.00     21.5±1.25µs        ? ?/sec    1.02     21.9±1.09µs        ? ?/sec
arrow_array_reader/UInt32Array/plain encoded, optional, half NULLs                                         1.00    120.1±2.28µs        ? ?/sec    1.01    121.4±3.17µs        ? ?/sec
arrow_array_reader/UInt32Array/plain encoded, optional, no NULLs                                           1.00     26.3±1.29µs        ? ?/sec    1.01     26.6±1.04µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed skip, mandatory, no NULLs                                     1.01     83.6±3.02µs        ? ?/sec    1.00     83.1±2.15µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed skip, optional, half NULLs                                    1.00    102.1±0.71µs        ? ?/sec    1.02    103.9±0.61µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed skip, optional, no NULLs                                      1.00     84.0±2.38µs        ? ?/sec    1.02     85.7±0.57µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed, mandatory, no NULLs                                          1.01    111.8±2.22µs        ? ?/sec    1.00    110.7±0.84µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed, optional, half NULLs                                         1.00    167.2±1.83µs        ? ?/sec    1.07    178.3±2.56µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed, optional, no NULLs                                           1.00    114.5±1.26µs        ? ?/sec    1.01    115.4±1.64µs        ? ?/sec
arrow_array_reader/UInt64Array/byte_stream_split encoded, mandatory, no NULLs                              1.00    149.1±1.02µs        ? ?/sec    1.00    148.8±1.10µs        ? ?/sec
arrow_array_reader/UInt64Array/byte_stream_split encoded, optional, half NULLs                             1.00    192.3±3.32µs        ? ?/sec    1.02    195.7±8.48µs        ? ?/sec
arrow_array_reader/UInt64Array/byte_stream_split encoded, optional, no NULLs                               1.00    154.5±4.46µs        ? ?/sec    1.00    154.0±0.59µs        ? ?/sec
arrow_array_reader/UInt64Array/dictionary encoded, mandatory, no NULLs                                     1.01     99.8±1.99µs        ? ?/sec    1.00     98.8±0.62µs        ? ?/sec
arrow_array_reader/UInt64Array/dictionary encoded, optional, half NULLs                                    1.00    166.4±2.02µs        ? ?/sec    1.00    167.1±7.77µs        ? ?/sec
arrow_array_reader/UInt64Array/dictionary encoded, optional, no NULLs                                      1.01    104.5±1.04µs        ? ?/sec    1.00    103.0±0.47µs        ? ?/sec
arrow_array_reader/UInt64Array/plain encoded, mandatory, no NULLs                                          1.00     43.1±2.46µs        ? ?/sec    1.11     47.6±2.70µs        ? ?/sec
arrow_array_reader/UInt64Array/plain encoded, optional, half NULLs                                         1.00    136.7±2.80µs        ? ?/sec    1.02    139.3±2.63µs        ? ?/sec
arrow_array_reader/UInt64Array/plain encoded, optional, no NULLs                                           1.00     50.4±3.30µs        ? ?/sec    1.01     50.7±1.72µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed skip, mandatory, no NULLs                                      1.00     88.4±2.57µs        ? ?/sec    1.01     89.0±3.93µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed skip, optional, half NULLs                                     1.00    106.2±2.57µs        ? ?/sec    1.01    107.1±1.60µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed skip, optional, no NULLs                                       1.00     90.9±1.15µs        ? ?/sec    1.00     91.3±0.74µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed, mandatory, no NULLs                                           1.00    118.0±1.38µs        ? ?/sec    1.01    118.9±0.98µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed, optional, half NULLs                                          1.00    176.3±4.76µs        ? ?/sec    1.00    177.0±1.05µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed, optional, no NULLs                                            1.00    123.4±5.40µs        ? ?/sec    1.01    124.1±2.44µs        ? ?/sec
arrow_array_reader/UInt8Array/byte_stream_split encoded, mandatory, no NULLs                               1.01     35.9±0.40µs        ? ?/sec    1.00     35.6±0.22µs        ? ?/sec
arrow_array_reader/UInt8Array/byte_stream_split encoded, optional, half NULLs                              1.00    132.7±1.59µs        ? ?/sec    1.00    132.9±2.36µs        ? ?/sec
arrow_array_reader/UInt8Array/byte_stream_split encoded, optional, no NULLs                                1.00     40.0±0.24µs        ? ?/sec    1.00     40.1±0.07µs        ? ?/sec
arrow_array_reader/UInt8Array/dictionary encoded, mandatory, no NULLs                                      1.03     96.1±1.34µs        ? ?/sec    1.00     93.4±0.39µs        ? ?/sec
arrow_array_reader/UInt8Array/dictionary encoded, optional, half NULLs                                     1.00    166.2±4.16µs        ? ?/sec    1.01    167.6±1.04µs        ? ?/sec
arrow_array_reader/UInt8Array/dictionary encoded, optional, no NULLs                                       1.01    100.6±0.30µs        ? ?/sec    1.00     99.7±2.71µs        ? ?/sec
arrow_array_reader/UInt8Array/plain encoded, mandatory, no NULLs                                           1.00     29.8±0.39µs        ? ?/sec    1.01     30.2±0.70µs        ? ?/sec
arrow_array_reader/UInt8Array/plain encoded, optional, half NULLs                                          1.00    130.3±3.98µs        ? ?/sec    1.01    132.2±8.30µs        ? ?/sec
arrow_array_reader/UInt8Array/plain encoded, optional, no NULLs                                            1.00     34.3±0.08µs        ? ?/sec    1.02     34.9±0.29µs        ? ?/sec

Copy link
Contributor

@scovich scovich left a comment

Choose a reason for hiding this comment

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

LGTM!

@alamb alamb marked this pull request as ready for review January 13, 2026 12:17
@alamb
Copy link
Contributor Author

alamb commented Jan 13, 2026

🤔 looks like this maybe made things slower -- will investigate

group                                                                                                      alamb_less_parquet_view_allocations    main
-----                                                                                                      -----------------------------------    ----

arrow_array_reader/BinaryViewArray/dictionary encoded, mandatory, no NULLs                                 1.00    247.2±3.07µs        ? ?/sec    1.05    259.0±3.79µs        ? ?/sec
arrow_array_reader/BinaryViewArray/dictionary encoded, optional, half NULLs                                1.08    248.4±3.81µs        ? ?/sec    1.00    229.5±2.43µs        ? ?/sec
arrow_array_reader/BinaryViewArray/dictionary encoded, optional, no NULLs                                  1.00    256.8±5.74µs        ? ?/sec    1.00    256.0±3.58µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, mandatory, no NULLs                                      1.27    370.5±3.94µs        ? ?/sec    1.00    292.5±1.63µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, mandatory, no NULLs, short string                        1.13    345.4±3.14µs        ? ?/sec    1.00    305.8±1.22µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, optional, half NULLs                                     1.20    319.2±7.52µs        ? ?/sec    1.00    265.4±1.64µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, optional, no NULLs                                       1.25    378.6±4.48µs        ? ?/sec    1.00    301.7±5.25µs        ? ?/sec

...

arrow_array_reader/StringViewArray/dictionary encoded, mandatory, no NULLs                                 1.00    252.8±3.56µs        ? ?/sec    1.03    261.6±5.36µs        ? ?/sec
arrow_array_reader/StringViewArray/dictionary encoded, optional, half NULLs                                1.09    251.1±2.55µs        ? ?/sec    1.00    229.8±1.92µs        ? ?/sec
arrow_array_reader/StringViewArray/dictionary encoded, optional, no NULLs                                  1.00    256.7±3.02µs        ? ?/sec    1.00    256.1±2.58µs        ? ?/sec
arrow_array_reader/StringViewArray/plain encoded, mandatory, no NULLs                                      1.13    500.0±7.89µs        ? ?/sec    1.00    444.1±2.78µs        ? ?/sec
arrow_array_reader/StringViewArray/plain encoded, optional, half NULLs                                     1.15   386.8±22.22µs        ? ?/sec    1.00    337.2±3.66µs        ? ?/sec
arrow_array_reader/StringViewArray/plain encoded, optional, no NULLs                                       1.12    508.2±8.79µs        ? ?/sec    1.00   453.9±10.55µs        ? ?/sec

@alamb alamb marked this pull request as draft January 13, 2026 12:21
@alamb
Copy link
Contributor Author

alamb commented Jan 13, 2026

I could not reproduce the benchmark results locally

     Running benches/arrow_reader.rs (target/release/deps/arrow_reader-0c5ec49ee5cbea6a)
arrow_array_reader/BinaryViewArray/plain encoded, mandatory, no NULLs, short string
                        time:   [160.36 µs 160.64 µs 161.02 µs]
                        change: [−0.4158% −0.0942% +0.2111%] (p = 0.56 > 0.05)
                        No change in performance detected.
Found 11 outliers among 100 measurements (11.00%)
  3 (3.00%) high mild
  8 (8.00%) high severe
arrow_array_reader/BinaryViewArray/plain encoded, mandatory, no NULLs
                        time:   [147.70 µs 148.37 µs 149.07 µs]
                        change: [+0.7348% +1.2863% +1.8236%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 25 outliers among 100 measurements (25.00%)
  19 (19.00%) low mild
  4 (4.00%) high mild
  2 (2.00%) high severe
arrow_array_reader/BinaryViewArray/plain encoded, optional, no NULLs
                        time:   [147.02 µs 147.41 µs 147.88 µs]
                        change: [−1.3623% −0.8303% −0.2939%] (p = 0.00 < 0.05)
                        Change within noise threshold.
arrow_array_reader/BinaryViewArray/plain encoded, optional, half NULLs
                        time:   [142.34 µs 142.93 µs 143.58 µs]
                        change: [−1.6259% −0.8845% −0.2890%] (p = 0.01 < 0.05)
                        Change within noise threshold.
Found 24 outliers among 100 measurements (24.00%)
  9 (9.00%) low severe
  2 (2.00%) low mild
  6 (6.00%) high mild
  7 (7.00%) high severe

However, note the number of outliers found

I will see if the benchmark needs adjusting (perhaps with more rows, etc)

@alamb
Copy link
Contributor Author

alamb commented Jan 13, 2026

run benchmark arrow_reader

1 similar comment
@alamb
Copy link
Contributor Author

alamb commented Jan 13, 2026

run benchmark arrow_reader

@alamb-ghbot
Copy link

🤖 ./gh_compare_arrow.sh gh_compare_arrow.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing alamb/less_parquet_view_allocations (5949120) to 7ecef6e diff
BENCH_NAME=arrow_reader
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental --bench arrow_reader
BENCH_FILTER=
BENCH_BRANCH_NAME=alamb_less_parquet_view_allocations
Results will be posted here when complete

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

group                                                                                                      alamb_less_parquet_view_allocations    main
-----                                                                                                      -----------------------------------    ----
arrow_array_reader/BYTE_ARRAY/Decimal128Array/plain encoded, mandatory, no NULLs                           1.04  1228.3±25.70µs        ? ?/sec    1.00  1181.5±11.87µs        ? ?/sec
arrow_array_reader/BYTE_ARRAY/Decimal128Array/plain encoded, optional, half NULLs                          1.04   1298.0±9.22µs        ? ?/sec    1.00  1249.3±15.50µs        ? ?/sec
arrow_array_reader/BYTE_ARRAY/Decimal128Array/plain encoded, optional, no NULLs                            1.04   1232.2±3.77µs        ? ?/sec    1.00  1186.6±15.05µs        ? ?/sec
arrow_array_reader/BinaryArray/dictionary encoded, mandatory, no NULLs                                     1.03    505.2±5.86µs        ? ?/sec    1.00   489.7±13.30µs        ? ?/sec
arrow_array_reader/BinaryArray/dictionary encoded, optional, half NULLs                                    1.05   700.6±12.12µs        ? ?/sec    1.00    667.1±7.76µs        ? ?/sec
arrow_array_reader/BinaryArray/dictionary encoded, optional, no NULLs                                      1.05    521.1±4.56µs        ? ?/sec    1.00   494.6±11.40µs        ? ?/sec
arrow_array_reader/BinaryArray/plain encoded, mandatory, no NULLs                                          1.01   556.6±15.96µs        ? ?/sec    1.00    551.6±7.93µs        ? ?/sec
arrow_array_reader/BinaryArray/plain encoded, optional, half NULLs                                         1.03    750.9±7.73µs        ? ?/sec    1.00    725.6±5.00µs        ? ?/sec
arrow_array_reader/BinaryArray/plain encoded, optional, no NULLs                                           1.00    564.9±6.68µs        ? ?/sec    1.01   569.2±10.25µs        ? ?/sec
arrow_array_reader/BinaryViewArray/dictionary encoded, mandatory, no NULLs                                 1.00    258.7±2.57µs        ? ?/sec    1.01    260.1±6.11µs        ? ?/sec
arrow_array_reader/BinaryViewArray/dictionary encoded, optional, half NULLs                                1.09    252.2±2.08µs        ? ?/sec    1.00    231.3±4.46µs        ? ?/sec
arrow_array_reader/BinaryViewArray/dictionary encoded, optional, no NULLs                                  1.00    256.2±4.14µs        ? ?/sec    1.01    258.0±6.07µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, mandatory, no NULLs                                      1.06    353.1±8.07µs        ? ?/sec    1.00    331.6±1.48µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, mandatory, no NULLs, short string                        1.02    346.6±4.96µs        ? ?/sec    1.00    338.3±5.34µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, optional, half NULLs                                     1.13    316.3±2.25µs        ? ?/sec    1.00    279.9±4.27µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, optional, no NULLs                                       1.06    360.0±2.42µs        ? ?/sec    1.00    340.7±1.94µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/byte_stream_split encoded, mandatory, no NULLs     1.00  1082.9±19.46µs        ? ?/sec    1.00  1085.8±27.48µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/byte_stream_split encoded, optional, half NULLs    1.00    905.9±7.25µs        ? ?/sec    1.02    926.3±4.57µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/byte_stream_split encoded, optional, no NULLs      1.00  1089.4±20.48µs        ? ?/sec    1.00  1092.6±21.44µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/plain encoded, mandatory, no NULLs                 1.11   459.2±12.04µs        ? ?/sec    1.00    412.2±6.12µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/plain encoded, optional, half NULLs                1.00    596.1±8.09µs        ? ?/sec    1.02    605.2±7.95µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/plain encoded, optional, no NULLs                  1.10    464.9±8.13µs        ? ?/sec    1.00    421.3±7.22µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/byte_stream_split encoded, mandatory, no NULLs        1.22    195.2±1.31µs        ? ?/sec    1.00    160.3±1.21µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/byte_stream_split encoded, optional, half NULLs       1.17    337.5±1.64µs        ? ?/sec    1.00    287.9±3.27µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/byte_stream_split encoded, optional, no NULLs         1.21    200.7±4.91µs        ? ?/sec    1.00    165.3±0.82µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/plain encoded, mandatory, no NULLs                    1.56    118.6±1.96µs        ? ?/sec    1.00     76.1±1.03µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/plain encoded, optional, half NULLs                   1.22    298.3±0.90µs        ? ?/sec    1.00    244.2±2.94µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/plain encoded, optional, no NULLs                     1.53    124.0±0.74µs        ? ?/sec    1.00     81.0±2.91µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/byte_stream_split encoded, mandatory, no NULLs                    1.00    690.3±3.06µs        ? ?/sec    1.07   740.6±10.76µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/byte_stream_split encoded, optional, half NULLs                   1.00    515.0±7.49µs        ? ?/sec    1.15   594.7±12.35µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/byte_stream_split encoded, optional, no NULLs                     1.00   697.4±10.19µs        ? ?/sec    1.07   748.3±12.88µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/plain encoded, mandatory, no NULLs                                1.00     67.8±6.17µs        ? ?/sec    1.01     68.2±6.72µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/plain encoded, optional, half NULLs                               1.00    203.5±1.85µs        ? ?/sec    1.27    258.0±2.76µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/plain encoded, optional, no NULLs                                 1.04     72.0±7.35µs        ? ?/sec    1.00     69.4±4.81µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/byte_stream_split encoded, mandatory, no NULLs                     1.00     86.2±0.60µs        ? ?/sec    1.10     94.5±4.93µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/byte_stream_split encoded, optional, half NULLs                    1.04    227.5±6.19µs        ? ?/sec    1.00    218.6±2.32µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/byte_stream_split encoded, optional, no NULLs                      1.00     91.2±0.38µs        ? ?/sec    1.08     99.0±0.51µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/plain encoded, mandatory, no NULLs                                 1.00      9.3±0.41µs        ? ?/sec    1.01      9.3±0.19µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/plain encoded, optional, half NULLs                                1.06    187.2±0.75µs        ? ?/sec    1.00    176.1±4.05µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/plain encoded, optional, no NULLs                                  1.02     14.4±0.23µs        ? ?/sec    1.00     14.1±0.16µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/byte_stream_split encoded, mandatory, no NULLs                     1.00    171.0±4.13µs        ? ?/sec    1.08    185.3±5.89µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/byte_stream_split encoded, optional, half NULLs                    1.00   332.8±11.01µs        ? ?/sec    1.02    339.1±5.90µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/byte_stream_split encoded, optional, no NULLs                      1.00    176.0±1.59µs        ? ?/sec    1.08    190.3±3.21µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/plain encoded, mandatory, no NULLs                                 1.00     12.9±0.33µs        ? ?/sec    1.02     13.2±0.27µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/plain encoded, optional, half NULLs                                1.00    255.5±2.26µs        ? ?/sec    1.00    255.5±4.49µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/plain encoded, optional, no NULLs                                  1.00     19.7±0.46µs        ? ?/sec    1.02     20.0±0.50µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/byte_stream_split encoded, mandatory, no NULLs                     1.00    343.5±6.73µs        ? ?/sec    1.08    371.1±8.95µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/byte_stream_split encoded, optional, half NULLs                    1.00    327.1±4.64µs        ? ?/sec    1.20    391.1±1.25µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/byte_stream_split encoded, optional, no NULLs                      1.00    349.0±7.01µs        ? ?/sec    1.07    373.6±2.59µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/plain encoded, mandatory, no NULLs                                 1.00     26.4±1.71µs        ? ?/sec    1.05     27.7±0.80µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/plain encoded, optional, half NULLs                                1.00    171.3±2.10µs        ? ?/sec    1.29    220.7±1.54µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/plain encoded, optional, no NULLs                                  1.00     31.6±1.52µs        ? ?/sec    1.03     32.7±0.36µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed skip, mandatory, no NULLs                           1.00    109.3±2.43µs        ? ?/sec    1.00    108.9±0.63µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed skip, optional, half NULLs                          1.00    128.7±1.05µs        ? ?/sec    1.00    128.4±0.71µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed skip, optional, no NULLs                            1.00    112.6±2.48µs        ? ?/sec    1.01    114.1±1.08µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed, mandatory, no NULLs                                1.00    159.5±1.58µs        ? ?/sec    1.00    158.9±1.19µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed, optional, half NULLs                               1.00    219.9±4.39µs        ? ?/sec    1.00    219.3±3.01µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed, optional, no NULLs                                 1.02    165.6±8.54µs        ? ?/sec    1.00    162.6±0.79µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/byte_stream_split encoded, mandatory, no NULLs                    1.00     76.7±0.98µs        ? ?/sec    1.01     77.3±0.85µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/byte_stream_split encoded, optional, half NULLs                   1.01    176.2±4.13µs        ? ?/sec    1.00    175.0±4.98µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/byte_stream_split encoded, optional, no NULLs                     1.02     82.4±1.04µs        ? ?/sec    1.00     80.8±0.85µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/dictionary encoded, mandatory, no NULLs                           1.00    134.1±0.40µs        ? ?/sec    1.07    142.9±2.00µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/dictionary encoded, optional, half NULLs                          1.00    209.2±1.09µs        ? ?/sec    1.02    214.3±5.54µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/dictionary encoded, optional, no NULLs                            1.00    139.4±1.86µs        ? ?/sec    1.06    148.2±2.11µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/plain encoded, mandatory, no NULLs                                1.00     71.5±0.89µs        ? ?/sec    1.01     72.1±0.23µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/plain encoded, optional, half NULLs                               1.00    174.5±2.43µs        ? ?/sec    1.00    174.7±2.77µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/plain encoded, optional, no NULLs                                 1.00     77.5±0.48µs        ? ?/sec    1.01     78.3±2.31µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed skip, mandatory, no NULLs                           1.00    106.4±1.52µs        ? ?/sec    1.00    106.8±2.85µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed skip, optional, half NULLs                          1.00    130.7±1.56µs        ? ?/sec    1.02    133.0±0.39µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed skip, optional, no NULLs                            1.00    110.0±1.01µs        ? ?/sec    1.01    110.9±0.55µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed, mandatory, no NULLs                                1.00    160.3±1.00µs        ? ?/sec    1.00    160.8±1.90µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed, optional, half NULLs                               1.01    233.9±8.39µs        ? ?/sec    1.00    230.6±0.85µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed, optional, no NULLs                                 1.00    165.9±1.11µs        ? ?/sec    1.00    166.5±2.62µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/byte_stream_split encoded, mandatory, no NULLs                    1.00    200.4±0.81µs        ? ?/sec    1.00    200.7±0.49µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/byte_stream_split encoded, optional, half NULLs                   1.00    249.4±2.88µs        ? ?/sec    1.00    250.0±2.19µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/byte_stream_split encoded, optional, no NULLs                     1.00    206.4±0.54µs        ? ?/sec    1.00    207.4±0.59µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/dictionary encoded, mandatory, no NULLs                           1.07    149.8±0.91µs        ? ?/sec    1.00    139.9±0.74µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/dictionary encoded, optional, half NULLs                          1.03    221.4±2.20µs        ? ?/sec    1.00    215.4±3.43µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/dictionary encoded, optional, no NULLs                            1.06    155.1±0.64µs        ? ?/sec    1.00    146.4±5.26µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/plain encoded, mandatory, no NULLs                                1.00     98.1±1.43µs        ? ?/sec    1.12    110.2±1.07µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/plain encoded, optional, half NULLs                               1.00    192.7±1.09µs        ? ?/sec    1.01    193.8±2.27µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/plain encoded, optional, no NULLs                                 1.00    104.8±1.11µs        ? ?/sec    1.12    117.3±1.93µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed skip, mandatory, no NULLs                                      1.01     77.7±0.89µs        ? ?/sec    1.00     76.6±0.66µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed skip, optional, half NULLs                                     1.00    101.4±0.54µs        ? ?/sec    1.00    101.6±0.34µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed skip, optional, no NULLs                                       1.00     79.0±0.20µs        ? ?/sec    1.00     79.4±0.46µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed, mandatory, no NULLs                                           1.01    106.1±1.03µs        ? ?/sec    1.00    105.6±1.85µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed, optional, half NULLs                                          1.00    172.3±3.71µs        ? ?/sec    1.00    172.4±1.27µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed, optional, no NULLs                                            1.00    110.3±0.36µs        ? ?/sec    1.00    110.1±1.44µs        ? ?/sec
arrow_array_reader/Int16Array/byte_stream_split encoded, mandatory, no NULLs                               1.00     40.7±0.14µs        ? ?/sec    1.05     42.6±0.10µs        ? ?/sec
arrow_array_reader/Int16Array/byte_stream_split encoded, optional, half NULLs                              1.00    137.3±0.87µs        ? ?/sec    1.01    138.7±2.80µs        ? ?/sec
arrow_array_reader/Int16Array/byte_stream_split encoded, optional, no NULLs                                1.00     45.1±0.26µs        ? ?/sec    1.04     46.8±0.45µs        ? ?/sec
arrow_array_reader/Int16Array/dictionary encoded, mandatory, no NULLs                                      1.00    101.1±0.53µs        ? ?/sec    1.08    109.4±0.53µs        ? ?/sec
arrow_array_reader/Int16Array/dictionary encoded, optional, half NULLs                                     1.00    171.3±0.79µs        ? ?/sec    1.03    176.4±3.23µs        ? ?/sec
arrow_array_reader/Int16Array/dictionary encoded, optional, no NULLs                                       1.00    105.5±0.49µs        ? ?/sec    1.08    114.2±0.70µs        ? ?/sec
arrow_array_reader/Int16Array/plain encoded, mandatory, no NULLs                                           1.00     36.4±0.14µs        ? ?/sec    1.01     36.7±0.27µs        ? ?/sec
arrow_array_reader/Int16Array/plain encoded, optional, half NULLs                                          1.00    135.8±1.31µs        ? ?/sec    1.00    136.5±1.86µs        ? ?/sec
arrow_array_reader/Int16Array/plain encoded, optional, no NULLs                                            1.00     41.1±0.17µs        ? ?/sec    1.00     41.3±0.36µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed skip, mandatory, no NULLs                                      1.03     84.4±0.83µs        ? ?/sec    1.00     81.8±0.34µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed skip, optional, half NULLs                                     1.01    100.1±4.86µs        ? ?/sec    1.00     99.3±0.26µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed skip, optional, no NULLs                                       1.01     85.1±0.75µs        ? ?/sec    1.00     84.5±0.33µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed, mandatory, no NULLs                                           1.01    106.5±0.45µs        ? ?/sec    1.00    105.4±0.46µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed, optional, half NULLs                                          1.00    162.3±2.32µs        ? ?/sec    1.00    162.3±1.81µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed, optional, no NULLs                                            1.01    110.9±0.54µs        ? ?/sec    1.00    110.0±1.04µs        ? ?/sec
arrow_array_reader/Int32Array/byte_stream_split encoded, mandatory, no NULLs                               1.00     23.3±0.30µs        ? ?/sec    1.02     23.7±0.48µs        ? ?/sec
arrow_array_reader/Int32Array/byte_stream_split encoded, optional, half NULLs                              1.00    118.0±1.60µs        ? ?/sec    1.01    119.4±1.79µs        ? ?/sec
arrow_array_reader/Int32Array/byte_stream_split encoded, optional, no NULLs                                1.00     27.4±0.42µs        ? ?/sec    1.02     28.1±0.37µs        ? ?/sec
arrow_array_reader/Int32Array/dictionary encoded, mandatory, no NULLs                                      1.00     82.6±2.75µs        ? ?/sec    1.11     91.4±1.29µs        ? ?/sec
arrow_array_reader/Int32Array/dictionary encoded, optional, half NULLs                                     1.00    151.6±2.46µs        ? ?/sec    1.04    157.5±5.40µs        ? ?/sec
arrow_array_reader/Int32Array/dictionary encoded, optional, no NULLs                                       1.00     86.9±2.98µs        ? ?/sec    1.10     95.6±1.13µs        ? ?/sec
arrow_array_reader/Int32Array/plain encoded, mandatory, no NULLs                                           1.03     15.6±0.81µs        ? ?/sec    1.00     15.2±0.49µs        ? ?/sec
arrow_array_reader/Int32Array/plain encoded, optional, half NULLs                                          1.00    115.9±2.01µs        ? ?/sec    1.01    116.9±3.56µs        ? ?/sec
arrow_array_reader/Int32Array/plain encoded, optional, no NULLs                                            1.00     21.2±0.61µs        ? ?/sec    1.02     21.6±0.63µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed skip, mandatory, no NULLs                                      1.01     80.7±0.64µs        ? ?/sec    1.00     80.2±0.94µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed skip, optional, half NULLs                                     1.00    101.1±1.14µs        ? ?/sec    1.01    101.9±0.84µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed skip, optional, no NULLs                                       1.00     82.3±1.53µs        ? ?/sec    1.01     82.7±0.60µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed, mandatory, no NULLs                                           1.00    107.7±1.25µs        ? ?/sec    1.00    107.6±0.66µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed, optional, half NULLs                                          1.00    165.6±2.44µs        ? ?/sec    1.05    173.3±2.32µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed, optional, no NULLs                                            1.00    109.8±1.62µs        ? ?/sec    1.03    112.7±2.17µs        ? ?/sec
arrow_array_reader/Int64Array/byte_stream_split encoded, mandatory, no NULLs                               1.00    146.1±0.71µs        ? ?/sec    1.00    146.3±1.04µs        ? ?/sec
arrow_array_reader/Int64Array/byte_stream_split encoded, optional, half NULLs                              1.00    189.3±2.34µs        ? ?/sec    1.01    190.4±2.77µs        ? ?/sec
arrow_array_reader/Int64Array/byte_stream_split encoded, optional, no NULLs                                1.00    150.7±0.53µs        ? ?/sec    1.00    150.5±1.23µs        ? ?/sec
arrow_array_reader/Int64Array/dictionary encoded, mandatory, no NULLs                                      1.11     96.0±0.89µs        ? ?/sec    1.00     86.8±0.67µs        ? ?/sec
arrow_array_reader/Int64Array/dictionary encoded, optional, half NULLs                                     1.02    160.8±1.64µs        ? ?/sec    1.00    157.1±1.12µs        ? ?/sec
arrow_array_reader/Int64Array/dictionary encoded, optional, no NULLs                                       1.10    100.1±0.87µs        ? ?/sec    1.00     91.2±0.55µs        ? ?/sec
arrow_array_reader/Int64Array/plain encoded, mandatory, no NULLs                                           1.08     44.2±2.03µs        ? ?/sec    1.00     40.8±1.42µs        ? ?/sec
arrow_array_reader/Int64Array/plain encoded, optional, half NULLs                                          1.00    132.8±3.48µs        ? ?/sec    1.01    134.0±2.18µs        ? ?/sec
arrow_array_reader/Int64Array/plain encoded, optional, no NULLs                                            1.03     50.6±2.88µs        ? ?/sec    1.00     49.1±2.93µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed skip, mandatory, no NULLs                                       1.00     81.0±0.34µs        ? ?/sec    1.01     81.9±2.53µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed skip, optional, half NULLs                                      1.01    102.6±0.39µs        ? ?/sec    1.00    102.1±0.49µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed skip, optional, no NULLs                                        1.00     84.5±1.76µs        ? ?/sec    1.00     84.2±0.50µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed, mandatory, no NULLs                                            1.01    108.9±0.39µs        ? ?/sec    1.00    108.1±0.64µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed, optional, half NULLs                                           1.00    169.5±1.92µs        ? ?/sec    1.00    168.8±1.15µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed, optional, no NULLs                                             1.01    114.5±1.83µs        ? ?/sec    1.00    113.2±0.37µs        ? ?/sec
arrow_array_reader/Int8Array/byte_stream_split encoded, mandatory, no NULLs                                1.00     34.8±1.48µs        ? ?/sec    1.00     34.7±0.16µs        ? ?/sec
arrow_array_reader/Int8Array/byte_stream_split encoded, optional, half NULLs                               1.00    129.4±2.65µs        ? ?/sec    1.01    130.3±0.85µs        ? ?/sec
arrow_array_reader/Int8Array/byte_stream_split encoded, optional, no NULLs                                 1.00     38.7±0.15µs        ? ?/sec    1.00     38.9±0.24µs        ? ?/sec
arrow_array_reader/Int8Array/dictionary encoded, mandatory, no NULLs                                       1.00     93.5±2.07µs        ? ?/sec    1.09    102.0±2.83µs        ? ?/sec
arrow_array_reader/Int8Array/dictionary encoded, optional, half NULLs                                      1.00    163.0±0.60µs        ? ?/sec    1.03    168.3±3.48µs        ? ?/sec
arrow_array_reader/Int8Array/dictionary encoded, optional, no NULLs                                        1.00     97.7±0.79µs        ? ?/sec    1.09    106.6±1.76µs        ? ?/sec
arrow_array_reader/Int8Array/plain encoded, mandatory, no NULLs                                            1.00     28.6±0.11µs        ? ?/sec    1.01     28.8±0.21µs        ? ?/sec
arrow_array_reader/Int8Array/plain encoded, optional, half NULLs                                           1.00    127.4±0.55µs        ? ?/sec    1.00    127.9±4.22µs        ? ?/sec
arrow_array_reader/Int8Array/plain encoded, optional, no NULLs                                             1.00     33.2±0.15µs        ? ?/sec    1.00     33.3±0.16µs        ? ?/sec
arrow_array_reader/ListArray/plain encoded optional strings half NULLs                                     1.00      7.2±0.09ms        ? ?/sec    1.02      7.3±0.04ms        ? ?/sec
arrow_array_reader/ListArray/plain encoded optional strings no NULLs                                       1.00     12.8±0.30ms        ? ?/sec    1.00     12.9±0.13ms        ? ?/sec
arrow_array_reader/StringArray/dictionary encoded, mandatory, no NULLs                                     1.05    515.4±7.77µs        ? ?/sec    1.00    492.5±7.03µs        ? ?/sec
arrow_array_reader/StringArray/dictionary encoded, optional, half NULLs                                    1.06    700.2±5.29µs        ? ?/sec    1.00   661.3±12.85µs        ? ?/sec
arrow_array_reader/StringArray/dictionary encoded, optional, no NULLs                                      1.06    521.3±9.69µs        ? ?/sec    1.00    490.2±3.60µs        ? ?/sec
arrow_array_reader/StringArray/plain encoded, mandatory, no NULLs                                          1.03    678.7±3.70µs        ? ?/sec    1.00    658.7±5.32µs        ? ?/sec
arrow_array_reader/StringArray/plain encoded, optional, half NULLs                                         1.04   810.3±10.96µs        ? ?/sec    1.00   775.9±13.33µs        ? ?/sec
arrow_array_reader/StringArray/plain encoded, optional, no NULLs                                           1.03   689.6±24.08µs        ? ?/sec    1.00   669.4±11.81µs        ? ?/sec
arrow_array_reader/StringDictionary/dictionary encoded, mandatory, no NULLs                                1.04    345.8±2.27µs        ? ?/sec    1.00    331.6±4.99µs        ? ?/sec
arrow_array_reader/StringDictionary/dictionary encoded, optional, half NULLs                               1.00    410.3±1.62µs        ? ?/sec    1.00   412.0±14.65µs        ? ?/sec
arrow_array_reader/StringDictionary/dictionary encoded, optional, no NULLs                                 1.01    339.2±5.39µs        ? ?/sec    1.00    336.1±2.27µs        ? ?/sec
arrow_array_reader/StringViewArray/dictionary encoded, mandatory, no NULLs                                 1.01    251.2±4.38µs        ? ?/sec    1.00    249.3±2.75µs        ? ?/sec
arrow_array_reader/StringViewArray/dictionary encoded, optional, half NULLs                                1.09    250.3±1.46µs        ? ?/sec    1.00    228.8±1.73µs        ? ?/sec
arrow_array_reader/StringViewArray/dictionary encoded, optional, no NULLs                                  1.01    256.1±4.62µs        ? ?/sec    1.00    254.6±3.37µs        ? ?/sec
arrow_array_reader/StringViewArray/plain encoded, mandatory, no NULLs                                      1.00    474.3±2.22µs        ? ?/sec    1.03    488.7±3.43µs        ? ?/sec
arrow_array_reader/StringViewArray/plain encoded, optional, half NULLs                                     1.06    374.0±4.19µs        ? ?/sec    1.00    351.7±2.83µs        ? ?/sec
arrow_array_reader/StringViewArray/plain encoded, optional, no NULLs                                       1.00    486.3±3.91µs        ? ?/sec    1.02    497.6±3.25µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed skip, mandatory, no NULLs                                     1.00     92.2±0.39µs        ? ?/sec    1.00     92.5±1.02µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed skip, optional, half NULLs                                    1.00    109.4±0.36µs        ? ?/sec    1.01    111.0±2.83µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed skip, optional, no NULLs                                      1.00     95.3±1.26µs        ? ?/sec    1.00     95.3±1.61µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed, mandatory, no NULLs                                          1.01    126.3±2.35µs        ? ?/sec    1.00    125.6±0.35µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed, optional, half NULLs                                         1.00    182.2±1.22µs        ? ?/sec    1.00    182.8±0.69µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed, optional, no NULLs                                           1.00    130.3±1.25µs        ? ?/sec    1.00    130.3±1.81µs        ? ?/sec
arrow_array_reader/UInt16Array/byte_stream_split encoded, mandatory, no NULLs                              1.05     42.6±0.18µs        ? ?/sec    1.00     40.7±0.14µs        ? ?/sec
arrow_array_reader/UInt16Array/byte_stream_split encoded, optional, half NULLs                             1.00    137.4±0.59µs        ? ?/sec    1.01    138.3±0.84µs        ? ?/sec
arrow_array_reader/UInt16Array/byte_stream_split encoded, optional, no NULLs                               1.03     46.7±0.43µs        ? ?/sec    1.00     45.2±0.52µs        ? ?/sec
arrow_array_reader/UInt16Array/dictionary encoded, mandatory, no NULLs                                     1.00    101.1±1.23µs        ? ?/sec    1.09    110.0±1.26µs        ? ?/sec
arrow_array_reader/UInt16Array/dictionary encoded, optional, half NULLs                                    1.00    171.0±1.93µs        ? ?/sec    1.03    176.0±2.21µs        ? ?/sec
arrow_array_reader/UInt16Array/dictionary encoded, optional, no NULLs                                      1.00    105.1±0.38µs        ? ?/sec    1.09    114.5±0.49µs        ? ?/sec
arrow_array_reader/UInt16Array/plain encoded, mandatory, no NULLs                                          1.00     36.4±0.29µs        ? ?/sec    1.01     36.7±0.33µs        ? ?/sec
arrow_array_reader/UInt16Array/plain encoded, optional, half NULLs                                         1.00    134.6±1.13µs        ? ?/sec    1.01    135.3±0.63µs        ? ?/sec
arrow_array_reader/UInt16Array/plain encoded, optional, no NULLs                                           1.00     41.0±0.26µs        ? ?/sec    1.00     41.1±0.23µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed skip, mandatory, no NULLs                                     1.00     82.2±0.68µs        ? ?/sec    1.00     81.9±0.36µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed skip, optional, half NULLs                                    1.00     99.8±2.85µs        ? ?/sec    1.00    100.3±2.66µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed skip, optional, no NULLs                                      1.00     85.3±0.79µs        ? ?/sec    1.00     85.0±1.33µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed, mandatory, no NULLs                                          1.01    106.9±2.18µs        ? ?/sec    1.00    105.4±1.01µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed, optional, half NULLs                                         1.00    162.6±2.31µs        ? ?/sec    1.00    163.1±2.76µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed, optional, no NULLs                                           1.01    110.9±0.83µs        ? ?/sec    1.00    109.6±0.80µs        ? ?/sec
arrow_array_reader/UInt32Array/byte_stream_split encoded, mandatory, no NULLs                              1.08     23.8±0.33µs        ? ?/sec    1.00     22.0±0.62µs        ? ?/sec
arrow_array_reader/UInt32Array/byte_stream_split encoded, optional, half NULLs                             1.00    118.8±2.67µs        ? ?/sec    1.00    118.7±1.17µs        ? ?/sec
arrow_array_reader/UInt32Array/byte_stream_split encoded, optional, no NULLs                               1.07     28.1±0.56µs        ? ?/sec    1.00     26.3±0.37µs        ? ?/sec
arrow_array_reader/UInt32Array/dictionary encoded, mandatory, no NULLs                                     1.00     82.9±0.73µs        ? ?/sec    1.10     91.0±0.76µs        ? ?/sec
arrow_array_reader/UInt32Array/dictionary encoded, optional, half NULLs                                    1.00    152.9±3.84µs        ? ?/sec    1.03    156.9±0.81µs        ? ?/sec
arrow_array_reader/UInt32Array/dictionary encoded, optional, no NULLs                                      1.00     87.6±3.23µs        ? ?/sec    1.09     95.8±2.14µs        ? ?/sec
arrow_array_reader/UInt32Array/plain encoded, mandatory, no NULLs                                          1.06     19.4±1.41µs        ? ?/sec    1.00     18.4±0.66µs        ? ?/sec
arrow_array_reader/UInt32Array/plain encoded, optional, half NULLs                                         1.00    115.8±0.67µs        ? ?/sec    1.01    116.6±0.68µs        ? ?/sec
arrow_array_reader/UInt32Array/plain encoded, optional, no NULLs                                           1.05     24.1±1.41µs        ? ?/sec    1.00     22.9±0.47µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed skip, mandatory, no NULLs                                     1.01     81.2±0.52µs        ? ?/sec    1.00     80.7±2.17µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed skip, optional, half NULLs                                    1.00    101.6±0.90µs        ? ?/sec    1.00    102.1±1.58µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed skip, optional, no NULLs                                      1.00     82.4±0.74µs        ? ?/sec    1.00     82.8±0.54µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed, mandatory, no NULLs                                          1.00    107.2±1.01µs        ? ?/sec    1.00    107.7±0.90µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed, optional, half NULLs                                         1.00    166.0±3.05µs        ? ?/sec    1.05    174.1±1.10µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed, optional, no NULLs                                           1.00    108.1±0.53µs        ? ?/sec    1.04    112.2±1.26µs        ? ?/sec
arrow_array_reader/UInt64Array/byte_stream_split encoded, mandatory, no NULLs                              1.00    145.7±0.69µs        ? ?/sec    1.00    146.3±1.32µs        ? ?/sec
arrow_array_reader/UInt64Array/byte_stream_split encoded, optional, half NULLs                             1.00    188.5±1.88µs        ? ?/sec    1.00    189.3±0.61µs        ? ?/sec
arrow_array_reader/UInt64Array/byte_stream_split encoded, optional, no NULLs                               1.00    150.6±1.15µs        ? ?/sec    1.00    151.0±0.73µs        ? ?/sec
arrow_array_reader/UInt64Array/dictionary encoded, mandatory, no NULLs                                     1.11     96.7±1.13µs        ? ?/sec    1.00     87.4±0.79µs        ? ?/sec
arrow_array_reader/UInt64Array/dictionary encoded, optional, half NULLs                                    1.03    161.7±3.55µs        ? ?/sec    1.00    156.9±1.11µs        ? ?/sec
arrow_array_reader/UInt64Array/dictionary encoded, optional, no NULLs                                      1.10    100.9±1.21µs        ? ?/sec    1.00     91.6±1.11µs        ? ?/sec
arrow_array_reader/UInt64Array/plain encoded, mandatory, no NULLs                                          1.00     43.4±2.69µs        ? ?/sec    1.01     43.8±2.29µs        ? ?/sec
arrow_array_reader/UInt64Array/plain encoded, optional, half NULLs                                         1.00    133.6±2.66µs        ? ?/sec    1.01    134.2±2.22µs        ? ?/sec
arrow_array_reader/UInt64Array/plain encoded, optional, no NULLs                                           1.00     50.7±2.98µs        ? ?/sec    1.00     50.9±3.87µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed skip, mandatory, no NULLs                                      1.00     88.0±0.67µs        ? ?/sec    1.00     88.3±0.64µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed skip, optional, half NULLs                                     1.00    104.9±0.92µs        ? ?/sec    1.01    105.7±0.44µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed skip, optional, no NULLs                                       1.00     90.4±0.27µs        ? ?/sec    1.00     90.7±0.78µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed, mandatory, no NULLs                                           1.00    118.7±1.03µs        ? ?/sec    1.00    118.2±2.27µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed, optional, half NULLs                                          1.00    173.3±0.62µs        ? ?/sec    1.02    176.2±4.07µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed, optional, no NULLs                                            1.01    123.4±1.92µs        ? ?/sec    1.00    122.7±3.23µs        ? ?/sec
arrow_array_reader/UInt8Array/byte_stream_split encoded, mandatory, no NULLs                               1.01     34.9±0.77µs        ? ?/sec    1.00     34.6±0.36µs        ? ?/sec
arrow_array_reader/UInt8Array/byte_stream_split encoded, optional, half NULLs                              1.00    129.6±1.67µs        ? ?/sec    1.02    131.9±4.40µs        ? ?/sec
arrow_array_reader/UInt8Array/byte_stream_split encoded, optional, no NULLs                                1.00     38.9±0.47µs        ? ?/sec    1.00     39.0±0.50µs        ? ?/sec
arrow_array_reader/UInt8Array/dictionary encoded, mandatory, no NULLs                                      1.00     93.7±1.17µs        ? ?/sec    1.09    101.9±0.72µs        ? ?/sec
arrow_array_reader/UInt8Array/dictionary encoded, optional, half NULLs                                     1.00    163.7±3.01µs        ? ?/sec    1.03    168.8±0.73µs        ? ?/sec
arrow_array_reader/UInt8Array/dictionary encoded, optional, no NULLs                                       1.00     97.7±0.36µs        ? ?/sec    1.09    106.6±1.48µs        ? ?/sec
arrow_array_reader/UInt8Array/plain encoded, mandatory, no NULLs                                           1.00     28.8±0.47µs        ? ?/sec    1.01     29.2±0.35µs        ? ?/sec
arrow_array_reader/UInt8Array/plain encoded, optional, half NULLs                                          1.00    126.8±0.68µs        ? ?/sec    1.02    129.3±3.21µs        ? ?/sec
arrow_array_reader/UInt8Array/plain encoded, optional, no NULLs                                            1.00     33.5±0.15µs        ? ?/sec    1.00     33.3±0.32µs        ? ?/sec

@alamb-ghbot
Copy link

🤖 ./gh_compare_arrow.sh gh_compare_arrow.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing alamb/less_parquet_view_allocations (5949120) to 7ecef6e diff
BENCH_NAME=arrow_reader
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental --bench arrow_reader
BENCH_FILTER=
BENCH_BRANCH_NAME=alamb_less_parquet_view_allocations
Results will be posted here when complete

@alamb-ghbot
Copy link

🤖: Benchmark completed

Details

group                                                                                                      alamb_less_parquet_view_allocations    main
-----                                                                                                      -----------------------------------    ----
arrow_array_reader/BYTE_ARRAY/Decimal128Array/plain encoded, mandatory, no NULLs                           1.04  1227.2±12.79µs        ? ?/sec    1.00   1184.1±9.85µs        ? ?/sec
arrow_array_reader/BYTE_ARRAY/Decimal128Array/plain encoded, optional, half NULLs                          1.04  1301.3±12.15µs        ? ?/sec    1.00   1249.9±9.17µs        ? ?/sec
arrow_array_reader/BYTE_ARRAY/Decimal128Array/plain encoded, optional, no NULLs                            1.03  1232.5±23.52µs        ? ?/sec    1.00  1195.5±31.54µs        ? ?/sec
arrow_array_reader/BinaryArray/dictionary encoded, mandatory, no NULLs                                     1.04    505.4±3.99µs        ? ?/sec    1.00    485.6±4.28µs        ? ?/sec
arrow_array_reader/BinaryArray/dictionary encoded, optional, half NULLs                                    1.05    697.4±5.61µs        ? ?/sec    1.00    665.2±4.28µs        ? ?/sec
arrow_array_reader/BinaryArray/dictionary encoded, optional, no NULLs                                      1.04    510.2±4.35µs        ? ?/sec    1.00    492.5±4.48µs        ? ?/sec
arrow_array_reader/BinaryArray/plain encoded, mandatory, no NULLs                                          1.01    555.2±5.47µs        ? ?/sec    1.00    551.6±9.70µs        ? ?/sec
arrow_array_reader/BinaryArray/plain encoded, optional, half NULLs                                         1.05    758.8±8.99µs        ? ?/sec    1.00   723.7±11.91µs        ? ?/sec
arrow_array_reader/BinaryArray/plain encoded, optional, no NULLs                                           1.01    568.2±5.90µs        ? ?/sec    1.00    561.7±4.92µs        ? ?/sec
arrow_array_reader/BinaryViewArray/dictionary encoded, mandatory, no NULLs                                 1.00    252.4±4.30µs        ? ?/sec    1.04    263.0±3.68µs        ? ?/sec
arrow_array_reader/BinaryViewArray/dictionary encoded, optional, half NULLs                                1.06   253.9±20.21µs        ? ?/sec    1.00    240.6±1.12µs        ? ?/sec
arrow_array_reader/BinaryViewArray/dictionary encoded, optional, no NULLs                                  1.00    254.6±3.17µs        ? ?/sec    1.05    267.9±7.36µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, mandatory, no NULLs                                      1.05    347.7±3.72µs        ? ?/sec    1.00    332.3±3.63µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, mandatory, no NULLs, short string                        1.02    344.0±3.17µs        ? ?/sec    1.00    337.6±1.81µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, optional, half NULLs                                     1.11    314.7±8.05µs        ? ?/sec    1.00    283.1±2.39µs        ? ?/sec
arrow_array_reader/BinaryViewArray/plain encoded, optional, no NULLs                                       1.05    356.0±2.65µs        ? ?/sec    1.00    340.6±2.04µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/byte_stream_split encoded, mandatory, no NULLs     1.00   1078.2±4.42µs        ? ?/sec    1.00  1081.3±11.36µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/byte_stream_split encoded, optional, half NULLs    1.00   924.0±33.43µs        ? ?/sec    1.02    943.1±6.44µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/byte_stream_split encoded, optional, no NULLs      1.00   1086.1±6.79µs        ? ?/sec    1.00  1091.1±22.78µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/plain encoded, mandatory, no NULLs                 1.13   457.5±11.52µs        ? ?/sec    1.00    404.9±7.80µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/plain encoded, optional, half NULLs                1.01    605.6±7.77µs        ? ?/sec    1.00    597.1±9.31µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Decimal128Array/plain encoded, optional, no NULLs                  1.12    460.5±4.82µs        ? ?/sec    1.00    411.2±3.99µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/byte_stream_split encoded, mandatory, no NULLs        1.21    194.7±1.88µs        ? ?/sec    1.00    160.9±1.73µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/byte_stream_split encoded, optional, half NULLs       1.17    336.4±3.83µs        ? ?/sec    1.00    288.0±5.62µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/byte_stream_split encoded, optional, no NULLs         1.20    200.0±3.17µs        ? ?/sec    1.00    166.2±1.89µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/plain encoded, mandatory, no NULLs                    1.52    117.6±0.47µs        ? ?/sec    1.00     77.5±1.22µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/plain encoded, optional, half NULLs                   1.21   299.2±11.79µs        ? ?/sec    1.00    246.4±9.82µs        ? ?/sec
arrow_array_reader/FIXED_LEN_BYTE_ARRAY/Float16Array/plain encoded, optional, no NULLs                     1.51    122.9±1.05µs        ? ?/sec    1.00     81.3±0.49µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/byte_stream_split encoded, mandatory, no NULLs                    1.00    697.3±4.35µs        ? ?/sec    1.06    738.0±5.84µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/byte_stream_split encoded, optional, half NULLs                   1.00    520.6±3.25µs        ? ?/sec    1.14    594.9±3.82µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/byte_stream_split encoded, optional, no NULLs                     1.00   707.3±15.09µs        ? ?/sec    1.06    747.2±4.77µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/plain encoded, mandatory, no NULLs                                1.06     70.7±2.08µs        ? ?/sec    1.00     66.9±3.03µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/plain encoded, optional, half NULLs                               1.00    204.0±1.32µs        ? ?/sec    1.27    258.3±2.37µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(16)/plain encoded, optional, no NULLs                                 1.01     78.1±2.45µs        ? ?/sec    1.00     77.2±0.74µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/byte_stream_split encoded, mandatory, no NULLs                     1.00     86.2±0.30µs        ? ?/sec    1.10     94.6±1.03µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/byte_stream_split encoded, optional, half NULLs                    1.04    227.1±4.56µs        ? ?/sec    1.00    219.4±2.38µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/byte_stream_split encoded, optional, no NULLs                      1.00     91.4±0.48µs        ? ?/sec    1.10    100.4±4.50µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/plain encoded, mandatory, no NULLs                                 1.00      9.4±0.21µs        ? ?/sec    1.03      9.6±0.17µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/plain encoded, optional, half NULLs                                1.06    187.3±0.63µs        ? ?/sec    1.00    176.4±2.12µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(2)/plain encoded, optional, no NULLs                                  1.00     14.5±0.32µs        ? ?/sec    1.04     15.1±0.49µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/byte_stream_split encoded, mandatory, no NULLs                     1.00    171.1±3.89µs        ? ?/sec    1.08    185.5±1.33µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/byte_stream_split encoded, optional, half NULLs                    1.00    333.8±3.11µs        ? ?/sec    1.02    339.3±2.02µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/byte_stream_split encoded, optional, no NULLs                      1.00    176.2±4.10µs        ? ?/sec    1.08    190.9±2.64µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/plain encoded, mandatory, no NULLs                                 1.00     12.8±0.38µs        ? ?/sec    1.17     15.0±0.29µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/plain encoded, optional, half NULLs                                1.00    257.1±3.89µs        ? ?/sec    1.00    256.1±1.93µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(4)/plain encoded, optional, no NULLs                                  1.00     19.5±0.40µs        ? ?/sec    1.07     20.8±0.44µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/byte_stream_split encoded, mandatory, no NULLs                     1.00    342.3±2.06µs        ? ?/sec    1.07    366.5±5.20µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/byte_stream_split encoded, optional, half NULLs                    1.00    325.6±1.89µs        ? ?/sec    1.20    392.2±1.89µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/byte_stream_split encoded, optional, no NULLs                      1.00    347.7±3.22µs        ? ?/sec    1.07    372.9±2.83µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/plain encoded, mandatory, no NULLs                                 1.00     28.2±1.56µs        ? ?/sec    1.05     29.6±1.03µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/plain encoded, optional, half NULLs                                1.00    170.7±0.86µs        ? ?/sec    1.29    220.5±3.07µs        ? ?/sec
arrow_array_reader/FixedLenByteArray(8)/plain encoded, optional, no NULLs                                  1.02     36.8±1.51µs        ? ?/sec    1.00     36.1±0.70µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed skip, mandatory, no NULLs                           1.00    109.1±0.63µs        ? ?/sec    1.00    108.9±1.03µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed skip, optional, half NULLs                          1.00    128.6±1.03µs        ? ?/sec    1.00    128.4±1.84µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed skip, optional, no NULLs                            1.00    112.0±0.43µs        ? ?/sec    1.00    112.2±2.11µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed, mandatory, no NULLs                                1.01    159.2±2.20µs        ? ?/sec    1.00    158.0±0.86µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed, optional, half NULLs                               1.01    221.0±3.13µs        ? ?/sec    1.00    218.8±3.60µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/binary packed, optional, no NULLs                                 1.00    164.4±2.48µs        ? ?/sec    1.00    164.0±1.00µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/byte_stream_split encoded, mandatory, no NULLs                    1.00     76.0±0.79µs        ? ?/sec    1.01     77.1±0.60µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/byte_stream_split encoded, optional, half NULLs                   1.01    176.9±1.35µs        ? ?/sec    1.00    175.6±2.63µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/byte_stream_split encoded, optional, no NULLs                     1.00     82.1±0.47µs        ? ?/sec    1.00     82.5±1.46µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/dictionary encoded, mandatory, no NULLs                           1.00    133.9±1.22µs        ? ?/sec    1.07    143.4±1.38µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/dictionary encoded, optional, half NULLs                          1.00    208.9±0.84µs        ? ?/sec    1.02    213.3±1.25µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/dictionary encoded, optional, no NULLs                            1.00    139.2±0.82µs        ? ?/sec    1.07    149.2±1.52µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/plain encoded, mandatory, no NULLs                                1.00     72.0±0.26µs        ? ?/sec    1.02     73.3±0.97µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/plain encoded, optional, half NULLs                               1.01    174.3±1.80µs        ? ?/sec    1.00    172.9±0.91µs        ? ?/sec
arrow_array_reader/INT32/Decimal128Array/plain encoded, optional, no NULLs                                 1.00     76.4±0.35µs        ? ?/sec    1.01     76.9±1.34µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed skip, mandatory, no NULLs                           1.00    107.0±0.59µs        ? ?/sec    1.02    109.1±1.13µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed skip, optional, half NULLs                          1.03    133.3±0.58µs        ? ?/sec    1.00    130.0±1.63µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed skip, optional, no NULLs                            1.01    111.1±2.21µs        ? ?/sec    1.00    110.3±0.57µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed, mandatory, no NULLs                                1.01    162.1±2.45µs        ? ?/sec    1.00    160.8±1.91µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed, optional, half NULLs                               1.01    233.4±1.07µs        ? ?/sec    1.00    230.3±1.93µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/binary packed, optional, no NULLs                                 1.00    167.6±2.52µs        ? ?/sec    1.00    166.9±2.42µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/byte_stream_split encoded, mandatory, no NULLs                    1.01    200.9±0.97µs        ? ?/sec    1.00    199.7±1.25µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/byte_stream_split encoded, optional, half NULLs                   1.00    249.1±4.81µs        ? ?/sec    1.00    247.9±1.63µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/byte_stream_split encoded, optional, no NULLs                     1.01    206.9±0.55µs        ? ?/sec    1.00    205.8±1.33µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/dictionary encoded, mandatory, no NULLs                           1.05    148.8±1.31µs        ? ?/sec    1.00    141.4±0.74µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/dictionary encoded, optional, half NULLs                          1.06    227.3±2.75µs        ? ?/sec    1.00    214.9±1.52µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/dictionary encoded, optional, no NULLs                            1.06    155.7±0.57µs        ? ?/sec    1.00    146.5±1.31µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/plain encoded, mandatory, no NULLs                                1.08    105.9±1.01µs        ? ?/sec    1.00     98.0±0.82µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/plain encoded, optional, half NULLs                               1.01    195.6±2.21µs        ? ?/sec    1.00    193.2±0.81µs        ? ?/sec
arrow_array_reader/INT64/Decimal128Array/plain encoded, optional, no NULLs                                 1.04    112.8±0.84µs        ? ?/sec    1.00    108.6±0.67µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed skip, mandatory, no NULLs                                      1.00     76.6±1.38µs        ? ?/sec    1.00     76.8±1.23µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed skip, optional, half NULLs                                     1.00    101.4±0.43µs        ? ?/sec    1.02    103.8±6.98µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed skip, optional, no NULLs                                       1.00     79.4±2.60µs        ? ?/sec    1.00     79.5±0.28µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed, mandatory, no NULLs                                           1.00    105.9±0.64µs        ? ?/sec    1.00    105.7±0.88µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed, optional, half NULLs                                          1.00    172.0±1.90µs        ? ?/sec    1.01    173.4±2.15µs        ? ?/sec
arrow_array_reader/Int16Array/binary packed, optional, no NULLs                                            1.00    110.5±1.34µs        ? ?/sec    1.00    110.6±1.16µs        ? ?/sec
arrow_array_reader/Int16Array/byte_stream_split encoded, mandatory, no NULLs                               1.00     40.7±0.28µs        ? ?/sec    1.05     42.6±0.17µs        ? ?/sec
arrow_array_reader/Int16Array/byte_stream_split encoded, optional, half NULLs                              1.00    137.2±0.50µs        ? ?/sec    1.01    139.1±1.44µs        ? ?/sec
arrow_array_reader/Int16Array/byte_stream_split encoded, optional, no NULLs                                1.00     45.2±0.56µs        ? ?/sec    1.04     47.1±0.26µs        ? ?/sec
arrow_array_reader/Int16Array/dictionary encoded, mandatory, no NULLs                                      1.00    101.3±1.60µs        ? ?/sec    1.08    109.5±0.52µs        ? ?/sec
arrow_array_reader/Int16Array/dictionary encoded, optional, half NULLs                                     1.00    171.4±3.19µs        ? ?/sec    1.03    177.1±2.28µs        ? ?/sec
arrow_array_reader/Int16Array/dictionary encoded, optional, no NULLs                                       1.00    106.0±0.78µs        ? ?/sec    1.08    114.6±1.21µs        ? ?/sec
arrow_array_reader/Int16Array/plain encoded, mandatory, no NULLs                                           1.00     36.3±0.20µs        ? ?/sec    1.01     36.8±0.21µs        ? ?/sec
arrow_array_reader/Int16Array/plain encoded, optional, half NULLs                                          1.00    136.2±3.71µs        ? ?/sec    1.01    136.9±2.63µs        ? ?/sec
arrow_array_reader/Int16Array/plain encoded, optional, no NULLs                                            1.00     41.1±0.24µs        ? ?/sec    1.02     41.8±0.51µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed skip, mandatory, no NULLs                                      1.00     82.6±0.55µs        ? ?/sec    1.00     82.7±4.90µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed skip, optional, half NULLs                                     1.00    100.2±3.19µs        ? ?/sec    1.00    100.1±1.43µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed skip, optional, no NULLs                                       1.01     85.3±1.50µs        ? ?/sec    1.00     84.8±0.64µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed, mandatory, no NULLs                                           1.01    106.8±0.92µs        ? ?/sec    1.00    105.8±1.47µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed, optional, half NULLs                                          1.00    162.1±1.71µs        ? ?/sec    1.00    162.9±2.86µs        ? ?/sec
arrow_array_reader/Int32Array/binary packed, optional, no NULLs                                            1.01    111.4±1.64µs        ? ?/sec    1.00    110.1±1.36µs        ? ?/sec
arrow_array_reader/Int32Array/byte_stream_split encoded, mandatory, no NULLs                               1.00     23.2±0.20µs        ? ?/sec    1.03     23.9±0.31µs        ? ?/sec
arrow_array_reader/Int32Array/byte_stream_split encoded, optional, half NULLs                              1.00    117.8±0.79µs        ? ?/sec    1.01    119.0±0.94µs        ? ?/sec
arrow_array_reader/Int32Array/byte_stream_split encoded, optional, no NULLs                                1.00     27.2±0.37µs        ? ?/sec    1.04     28.4±1.51µs        ? ?/sec
arrow_array_reader/Int32Array/dictionary encoded, mandatory, no NULLs                                      1.00     82.3±1.20µs        ? ?/sec    1.11     91.2±0.99µs        ? ?/sec
arrow_array_reader/Int32Array/dictionary encoded, optional, half NULLs                                     1.00    151.4±1.10µs        ? ?/sec    1.04    157.6±1.16µs        ? ?/sec
arrow_array_reader/Int32Array/dictionary encoded, optional, no NULLs                                       1.00     86.3±1.13µs        ? ?/sec    1.12     96.2±1.14µs        ? ?/sec
arrow_array_reader/Int32Array/plain encoded, mandatory, no NULLs                                           1.00     15.3±0.84µs        ? ?/sec    1.01     15.4±0.55µs        ? ?/sec
arrow_array_reader/Int32Array/plain encoded, optional, half NULLs                                          1.00    115.8±0.85µs        ? ?/sec    1.01    117.2±2.99µs        ? ?/sec
arrow_array_reader/Int32Array/plain encoded, optional, no NULLs                                            1.00     21.2±0.48µs        ? ?/sec    1.03     21.8±0.43µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed skip, mandatory, no NULLs                                      1.00     81.1±0.39µs        ? ?/sec    1.01     81.6±1.36µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed skip, optional, half NULLs                                     1.00    101.2±0.73µs        ? ?/sec    1.04    105.0±3.49µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed skip, optional, no NULLs                                       1.00     82.2±0.55µs        ? ?/sec    1.03     84.5±0.65µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed, mandatory, no NULLs                                           1.00    107.7±0.88µs        ? ?/sec    1.01    108.8±0.84µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed, optional, half NULLs                                          1.00    165.2±2.57µs        ? ?/sec    1.08    179.0±3.28µs        ? ?/sec
arrow_array_reader/Int64Array/binary packed, optional, no NULLs                                            1.00    110.1±1.02µs        ? ?/sec    1.04    114.6±2.01µs        ? ?/sec
arrow_array_reader/Int64Array/byte_stream_split encoded, mandatory, no NULLs                               1.00    146.2±0.71µs        ? ?/sec    1.01    148.3±1.02µs        ? ?/sec
arrow_array_reader/Int64Array/byte_stream_split encoded, optional, half NULLs                              1.00    189.1±1.39µs        ? ?/sec    1.02    193.4±1.25µs        ? ?/sec
arrow_array_reader/Int64Array/byte_stream_split encoded, optional, no NULLs                                1.00    151.2±1.15µs        ? ?/sec    1.01    153.5±1.06µs        ? ?/sec
arrow_array_reader/Int64Array/dictionary encoded, mandatory, no NULLs                                      1.08     96.3±1.30µs        ? ?/sec    1.00     89.2±1.29µs        ? ?/sec
arrow_array_reader/Int64Array/dictionary encoded, optional, half NULLs                                     1.01    161.4±4.65µs        ? ?/sec    1.00    160.3±1.19µs        ? ?/sec
arrow_array_reader/Int64Array/dictionary encoded, optional, no NULLs                                       1.07    101.0±3.94µs        ? ?/sec    1.00     94.0±1.36µs        ? ?/sec
arrow_array_reader/Int64Array/plain encoded, mandatory, no NULLs                                           1.00     42.6±2.95µs        ? ?/sec    1.03     43.7±1.33µs        ? ?/sec
arrow_array_reader/Int64Array/plain encoded, optional, half NULLs                                          1.00    132.4±2.68µs        ? ?/sec    1.04    137.1±3.50µs        ? ?/sec
arrow_array_reader/Int64Array/plain encoded, optional, no NULLs                                            1.00     49.2±2.98µs        ? ?/sec    1.11     54.7±1.56µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed skip, mandatory, no NULLs                                       1.00     81.5±0.64µs        ? ?/sec    1.00     81.7±0.44µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed skip, optional, half NULLs                                      1.00    102.0±1.89µs        ? ?/sec    1.00    102.4±1.24µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed skip, optional, no NULLs                                        1.00     84.3±1.89µs        ? ?/sec    1.00     84.4±1.16µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed, mandatory, no NULLs                                            1.00    109.0±0.76µs        ? ?/sec    1.00    108.6±2.93µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed, optional, half NULLs                                           1.00    169.1±2.82µs        ? ?/sec    1.00    169.3±1.74µs        ? ?/sec
arrow_array_reader/Int8Array/binary packed, optional, no NULLs                                             1.01    114.0±1.43µs        ? ?/sec    1.00    113.5±0.93µs        ? ?/sec
arrow_array_reader/Int8Array/byte_stream_split encoded, mandatory, no NULLs                                1.00     34.7±1.41µs        ? ?/sec    1.00     34.8±0.46µs        ? ?/sec
arrow_array_reader/Int8Array/byte_stream_split encoded, optional, half NULLs                               1.00    129.8±5.39µs        ? ?/sec    1.01    130.5±1.30µs        ? ?/sec
arrow_array_reader/Int8Array/byte_stream_split encoded, optional, no NULLs                                 1.00     38.8±0.39µs        ? ?/sec    1.01     39.0±0.13µs        ? ?/sec
arrow_array_reader/Int8Array/dictionary encoded, mandatory, no NULLs                                       1.00     93.6±1.28µs        ? ?/sec    1.09    101.7±1.31µs        ? ?/sec
arrow_array_reader/Int8Array/dictionary encoded, optional, half NULLs                                      1.00    163.5±2.00µs        ? ?/sec    1.03    168.7±0.93µs        ? ?/sec
arrow_array_reader/Int8Array/dictionary encoded, optional, no NULLs                                        1.00     97.9±1.26µs        ? ?/sec    1.09    106.8±1.87µs        ? ?/sec
arrow_array_reader/Int8Array/plain encoded, mandatory, no NULLs                                            1.00     28.5±0.27µs        ? ?/sec    1.02     29.0±0.60µs        ? ?/sec
arrow_array_reader/Int8Array/plain encoded, optional, half NULLs                                           1.00    127.6±0.95µs        ? ?/sec    1.00    127.1±1.37µs        ? ?/sec
arrow_array_reader/Int8Array/plain encoded, optional, no NULLs                                             1.00     33.6±1.87µs        ? ?/sec    1.00     33.5±0.31µs        ? ?/sec
arrow_array_reader/ListArray/plain encoded optional strings half NULLs                                     1.00      7.2±0.15ms        ? ?/sec    1.06      7.6±0.16ms        ? ?/sec
arrow_array_reader/ListArray/plain encoded optional strings no NULLs                                       1.00     12.7±0.21ms        ? ?/sec    1.08     13.8±0.23ms        ? ?/sec
arrow_array_reader/StringArray/dictionary encoded, mandatory, no NULLs                                     1.05    515.0±6.76µs        ? ?/sec    1.00   490.0±10.60µs        ? ?/sec
arrow_array_reader/StringArray/dictionary encoded, optional, half NULLs                                    1.05   702.0±14.27µs        ? ?/sec    1.00    668.7±6.81µs        ? ?/sec
arrow_array_reader/StringArray/dictionary encoded, optional, no NULLs                                      1.04   521.8±10.09µs        ? ?/sec    1.00   500.9±15.05µs        ? ?/sec
arrow_array_reader/StringArray/plain encoded, mandatory, no NULLs                                          1.02    679.8±7.86µs        ? ?/sec    1.00   667.0±16.83µs        ? ?/sec
arrow_array_reader/StringArray/plain encoded, optional, half NULLs                                         1.04    809.8±5.02µs        ? ?/sec    1.00   781.1±10.50µs        ? ?/sec
arrow_array_reader/StringArray/plain encoded, optional, no NULLs                                           1.00    690.7±7.77µs        ? ?/sec    1.00   689.0±48.61µs        ? ?/sec
arrow_array_reader/StringDictionary/dictionary encoded, mandatory, no NULLs                                1.02    337.3±3.40µs        ? ?/sec    1.00    330.0±6.63µs        ? ?/sec
arrow_array_reader/StringDictionary/dictionary encoded, optional, half NULLs                               1.00    411.4±6.75µs        ? ?/sec    1.00    410.9±6.21µs        ? ?/sec
arrow_array_reader/StringDictionary/dictionary encoded, optional, no NULLs                                 1.02    341.8±2.05µs        ? ?/sec    1.00    335.8±3.32µs        ? ?/sec
arrow_array_reader/StringViewArray/dictionary encoded, mandatory, no NULLs                                 1.00    251.9±4.81µs        ? ?/sec    1.00    252.7±4.70µs        ? ?/sec
arrow_array_reader/StringViewArray/dictionary encoded, optional, half NULLs                                1.09    252.9±5.86µs        ? ?/sec    1.00    232.7±6.23µs        ? ?/sec
arrow_array_reader/StringViewArray/dictionary encoded, optional, no NULLs                                  1.01    257.7±3.77µs        ? ?/sec    1.00    256.1±2.01µs        ? ?/sec
arrow_array_reader/StringViewArray/plain encoded, mandatory, no NULLs                                      1.00    474.7±3.72µs        ? ?/sec    1.04    492.8±6.11µs        ? ?/sec
arrow_array_reader/StringViewArray/plain encoded, optional, half NULLs                                     1.03    373.9±2.04µs        ? ?/sec    1.00   361.4±11.30µs        ? ?/sec
arrow_array_reader/StringViewArray/plain encoded, optional, no NULLs                                       1.00    484.2±3.21µs        ? ?/sec    1.04    504.1±5.06µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed skip, mandatory, no NULLs                                     1.00     92.4±1.34µs        ? ?/sec    1.01     93.4±5.12µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed skip, optional, half NULLs                                    1.00    109.4±0.64µs        ? ?/sec    1.00    110.0±0.88µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed skip, optional, no NULLs                                      1.00     94.9±0.33µs        ? ?/sec    1.00     95.2±1.91µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed, mandatory, no NULLs                                          1.00    126.2±2.07µs        ? ?/sec    1.00    125.7±1.37µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed, optional, half NULLs                                         1.00    182.3±2.72µs        ? ?/sec    1.01    183.5±1.60µs        ? ?/sec
arrow_array_reader/UInt16Array/binary packed, optional, no NULLs                                           1.00    130.3±0.78µs        ? ?/sec    1.00    130.7±3.82µs        ? ?/sec
arrow_array_reader/UInt16Array/byte_stream_split encoded, mandatory, no NULLs                              1.04     42.6±0.37µs        ? ?/sec    1.00     40.8±0.39µs        ? ?/sec
arrow_array_reader/UInt16Array/byte_stream_split encoded, optional, half NULLs                             1.00    137.8±0.65µs        ? ?/sec    1.01    138.8±3.54µs        ? ?/sec
arrow_array_reader/UInt16Array/byte_stream_split encoded, optional, no NULLs                               1.04     47.2±0.47µs        ? ?/sec    1.00     45.4±0.56µs        ? ?/sec
arrow_array_reader/UInt16Array/dictionary encoded, mandatory, no NULLs                                     1.00    101.7±1.07µs        ? ?/sec    1.08    109.8±2.31µs        ? ?/sec
arrow_array_reader/UInt16Array/dictionary encoded, optional, half NULLs                                    1.00    171.0±2.18µs        ? ?/sec    1.03    176.2±0.75µs        ? ?/sec
arrow_array_reader/UInt16Array/dictionary encoded, optional, no NULLs                                      1.00    105.9±1.16µs        ? ?/sec    1.08    114.5±0.50µs        ? ?/sec
arrow_array_reader/UInt16Array/plain encoded, mandatory, no NULLs                                          1.00     36.3±0.11µs        ? ?/sec    1.01     36.7±0.20µs        ? ?/sec
arrow_array_reader/UInt16Array/plain encoded, optional, half NULLs                                         1.00    134.9±2.40µs        ? ?/sec    1.01    135.7±1.61µs        ? ?/sec
arrow_array_reader/UInt16Array/plain encoded, optional, no NULLs                                           1.00     41.0±0.14µs        ? ?/sec    1.01     41.3±0.25µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed skip, mandatory, no NULLs                                     1.01     82.5±0.37µs        ? ?/sec    1.00     82.0±0.56µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed skip, optional, half NULLs                                    1.00     99.5±0.65µs        ? ?/sec    1.01    100.5±0.53µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed skip, optional, no NULLs                                      1.00     84.8±0.28µs        ? ?/sec    1.00     85.2±0.92µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed, mandatory, no NULLs                                          1.01    106.8±1.12µs        ? ?/sec    1.00    105.3±0.36µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed, optional, half NULLs                                         1.00    162.3±1.30µs        ? ?/sec    1.01    164.0±3.35µs        ? ?/sec
arrow_array_reader/UInt32Array/binary packed, optional, no NULLs                                           1.01    111.2±1.65µs        ? ?/sec    1.00    109.8±1.58µs        ? ?/sec
arrow_array_reader/UInt32Array/byte_stream_split encoded, mandatory, no NULLs                              1.01     24.1±0.34µs        ? ?/sec    1.00     23.7±0.36µs        ? ?/sec
arrow_array_reader/UInt32Array/byte_stream_split encoded, optional, half NULLs                             1.00    118.4±5.01µs        ? ?/sec    1.01    119.6±1.72µs        ? ?/sec
arrow_array_reader/UInt32Array/byte_stream_split encoded, optional, no NULLs                               1.00     27.8±0.44µs        ? ?/sec    1.02     28.3±0.50µs        ? ?/sec
arrow_array_reader/UInt32Array/dictionary encoded, mandatory, no NULLs                                     1.00     82.4±1.50µs        ? ?/sec    1.11     91.1±0.61µs        ? ?/sec
arrow_array_reader/UInt32Array/dictionary encoded, optional, half NULLs                                    1.00    151.7±1.15µs        ? ?/sec    1.04    157.5±1.13µs        ? ?/sec
arrow_array_reader/UInt32Array/dictionary encoded, optional, no NULLs                                      1.00     86.9±0.74µs        ? ?/sec    1.10     95.8±1.08µs        ? ?/sec
arrow_array_reader/UInt32Array/plain encoded, mandatory, no NULLs                                          1.02     19.4±1.57µs        ? ?/sec    1.00     18.9±1.07µs        ? ?/sec
arrow_array_reader/UInt32Array/plain encoded, optional, half NULLs                                         1.00    115.8±0.53µs        ? ?/sec    1.02    117.6±1.11µs        ? ?/sec
arrow_array_reader/UInt32Array/plain encoded, optional, no NULLs                                           1.01     24.2±1.41µs        ? ?/sec    1.00     23.9±0.80µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed skip, mandatory, no NULLs                                     1.00     81.3±1.13µs        ? ?/sec    1.00     81.4±1.71µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed skip, optional, half NULLs                                    1.00    102.6±4.88µs        ? ?/sec    1.00    102.8±0.68µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed skip, optional, no NULLs                                      1.00     82.2±0.37µs        ? ?/sec    1.02     84.0±1.51µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed, mandatory, no NULLs                                          1.00    107.1±0.90µs        ? ?/sec    1.02    109.0±1.12µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed, optional, half NULLs                                         1.00    165.8±3.87µs        ? ?/sec    1.08    178.6±9.44µs        ? ?/sec
arrow_array_reader/UInt64Array/binary packed, optional, no NULLs                                           1.00    108.8±0.48µs        ? ?/sec    1.04    113.6±0.95µs        ? ?/sec
arrow_array_reader/UInt64Array/byte_stream_split encoded, mandatory, no NULLs                              1.00    145.8±0.90µs        ? ?/sec    1.02    148.8±1.03µs        ? ?/sec
arrow_array_reader/UInt64Array/byte_stream_split encoded, optional, half NULLs                             1.00    189.1±0.78µs        ? ?/sec    1.02    192.9±3.10µs        ? ?/sec
arrow_array_reader/UInt64Array/byte_stream_split encoded, optional, no NULLs                               1.00    150.4±0.62µs        ? ?/sec    1.03    154.5±1.10µs        ? ?/sec
arrow_array_reader/UInt64Array/dictionary encoded, mandatory, no NULLs                                     1.08     97.0±1.78µs        ? ?/sec    1.00     89.5±1.20µs        ? ?/sec
arrow_array_reader/UInt64Array/dictionary encoded, optional, half NULLs                                    1.00    161.5±2.06µs        ? ?/sec    1.00    160.9±3.06µs        ? ?/sec
arrow_array_reader/UInt64Array/dictionary encoded, optional, no NULLs                                      1.08    101.2±0.66µs        ? ?/sec    1.00     93.7±0.65µs        ? ?/sec
arrow_array_reader/UInt64Array/plain encoded, mandatory, no NULLs                                          1.00     43.3±2.66µs        ? ?/sec    1.14     49.1±1.43µs        ? ?/sec
arrow_array_reader/UInt64Array/plain encoded, optional, half NULLs                                         1.00    134.3±2.00µs        ? ?/sec    1.03    139.0±2.12µs        ? ?/sec
arrow_array_reader/UInt64Array/plain encoded, optional, no NULLs                                           1.00     49.2±3.03µs        ? ?/sec    1.13     55.7±1.55µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed skip, mandatory, no NULLs                                      1.00     88.1±1.83µs        ? ?/sec    1.00     88.2±0.83µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed skip, optional, half NULLs                                     1.00    105.1±2.29µs        ? ?/sec    1.01    105.9±0.92µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed skip, optional, no NULLs                                       1.00     90.4±1.26µs        ? ?/sec    1.00     90.8±1.24µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed, mandatory, no NULLs                                           1.00    117.4±1.11µs        ? ?/sec    1.01    118.0±2.05µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed, optional, half NULLs                                          1.00    173.4±2.51µs        ? ?/sec    1.01    175.4±1.77µs        ? ?/sec
arrow_array_reader/UInt8Array/binary packed, optional, no NULLs                                            1.00    122.1±3.06µs        ? ?/sec    1.00    122.0±0.43µs        ? ?/sec
arrow_array_reader/UInt8Array/byte_stream_split encoded, mandatory, no NULLs                               1.00     34.7±0.23µs        ? ?/sec    1.00     34.7±0.82µs        ? ?/sec
arrow_array_reader/UInt8Array/byte_stream_split encoded, optional, half NULLs                              1.00    129.3±0.50µs        ? ?/sec    1.02    131.7±2.95µs        ? ?/sec
arrow_array_reader/UInt8Array/byte_stream_split encoded, optional, no NULLs                                1.00     38.9±0.20µs        ? ?/sec    1.01     39.2±0.29µs        ? ?/sec
arrow_array_reader/UInt8Array/dictionary encoded, mandatory, no NULLs                                      1.00     93.9±2.77µs        ? ?/sec    1.08    101.8±0.92µs        ? ?/sec
arrow_array_reader/UInt8Array/dictionary encoded, optional, half NULLs                                     1.00    163.2±1.49µs        ? ?/sec    1.04    169.7±2.03µs        ? ?/sec
arrow_array_reader/UInt8Array/dictionary encoded, optional, no NULLs                                       1.00     97.8±0.93µs        ? ?/sec    1.09    107.1±3.36µs        ? ?/sec
arrow_array_reader/UInt8Array/plain encoded, mandatory, no NULLs                                           1.00     28.6±0.16µs        ? ?/sec    1.02     29.1±0.19µs        ? ?/sec
arrow_array_reader/UInt8Array/plain encoded, optional, half NULLs                                          1.00    127.0±1.81µs        ? ?/sec    1.02    129.4±1.49µs        ? ?/sec
arrow_array_reader/UInt8Array/plain encoded, optional, no NULLs                                            1.00     33.4±0.52µs        ? ?/sec    1.01     33.7±0.11µs        ? ?/sec

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