-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Switch from ryu -> zmij for float formatting
#9047
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
I think we would need some benchmarks to justify switching crates |
alamb
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this PR @cijiugechu
|
|
||
| criterion = { version = "0.8.0", default-features = false } | ||
|
|
||
| zmij = "0.1" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like a dtonay special
https://crates.io/crates/zmij/versions
It is only 20 days old (it is already on version 1). I think we should wait a while for this crate to percolate through the ecosystem and see how it matures
|
@cijiugechu could you report any benchmark results? |
|
Ran the benchmarks via Beforevalidate_binary_array_data 20000
time: [14.039 µs 14.306 µs 14.630 µs]
Found 21 outliers among 100 measurements (21.00%)
2 (2.00%) low mild
19 (19.00%) high severe
validate_utf8_array_data 20000
time: [20.709 µs 20.715 µs 20.722 µs]
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) low severe
1 (1.00%) low mild
5 (5.00%) high mild
1 (1.00%) high severe
byte_array_to_string_array 20000
time: [8.9171 µs 8.9208 µs 8.9251 µs]
Found 7 outliers among 100 measurements (7.00%)
1 (1.00%) low mild
1 (1.00%) high mild
5 (5.00%) high severe
Running benches/array_from.rs (target/release/deps/array_from-bd26d62f6385540e)
array_from_vec 128 time: [91.539 ns 91.634 ns 91.740 ns]
Found 3 outliers among 100 measurements (3.00%)
2 (2.00%) high mild
1 (1.00%) high severe
array_from_vec 256 time: [93.824 ns 93.899 ns 93.985 ns]
Found 15 outliers among 100 measurements (15.00%)
1 (1.00%) low mild
14 (14.00%) high mild
array_from_vec 512 time: [117.28 ns 117.45 ns 117.60 ns]
array_string_from_vec 128
time: [581.64 ns 582.59 ns 583.58 ns]
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) low mild
2 (2.00%) high mild
array_string_from_vec 256
time: [966.08 ns 972.12 ns 978.17 ns]
Found 14 outliers among 100 measurements (14.00%)
6 (6.00%) high mild
8 (8.00%) high severe
array_string_from_vec 512
time: [1.6972 µs 1.6996 µs 1.7023 µs]
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
struct_array_from_vec 128
time: [1.0209 µs 1.0223 µs 1.0242 µs]
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low mild
2 (2.00%) high mild
1 (1.00%) high severe
struct_array_from_vec 256
time: [1.4313 µs 1.4341 µs 1.4384 µs]
Found 5 outliers among 100 measurements (5.00%)
2 (2.00%) high mild
3 (3.00%) high severe
struct_array_from_vec 512
time: [2.3942 µs 2.3981 µs 2.4030 µs]
Found 6 outliers among 100 measurements (6.00%)
3 (3.00%) high mild
3 (3.00%) high severe
struct_array_from_vec 1024
time: [4.3944 µs 4.3992 µs 4.4037 µs]
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
decimal32_array_from_vec 32768
time: [35.836 µs 35.910 µs 36.040 µs]
Found 10 outliers among 100 measurements (10.00%)
1 (1.00%) low severe
4 (4.00%) low mild
3 (3.00%) high mild
2 (2.00%) high severe
decimal64_array_from_vec 32768
time: [41.185 µs 41.232 µs 41.276 µs]
Found 9 outliers among 100 measurements (9.00%)
2 (2.00%) low severe
4 (4.00%) low mild
3 (3.00%) high mild
decimal128_array_from_vec 32768
time: [41.910 µs 42.216 µs 42.599 µs]
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) high mild
7 (7.00%) high severe
decimal256_array_from_vec 32768
time: [2.0653 µs 2.0780 µs 2.0981 µs]
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
Int64Array::from_iter time: [17.116 µs 17.131 µs 17.155 µs]
Found 8 outliers among 100 measurements (8.00%)
6 (6.00%) high mild
2 (2.00%) high severe
Int64Array::from_trusted_len_iter
time: [9.7185 µs 9.8611 µs 10.033 µs]
Found 10 outliers among 100 measurements (10.00%)
1 (1.00%) low severe
1 (1.00%) low mild
2 (2.00%) high mild
6 (6.00%) high severe
BooleanArray::from_iter time: [9.7385 µs 9.7481 µs 9.7606 µs]
Found 3 outliers among 100 measurements (3.00%)
2 (2.00%) high mild
1 (1.00%) high severe
BooleanArray::from_trusted_len_iter
time: [10.438 µs 10.663 µs 10.864 µs]
Running benches/array_slice.rs (target/release/deps/array_slice-f0e5243c28923596)
array_slice 128 time: [54.574 ns 54.633 ns 54.700 ns]
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low mild
1 (1.00%) high mild
2 (2.00%) high severe
array_slice 512 time: [56.015 ns 56.114 ns 56.218 ns]
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low severe
3 (3.00%) low mild
array_slice 2048 time: [61.266 ns 61.421 ns 61.587 ns]
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
Running benches/bit_length_kernel.rs (target/release/deps/bit_length_kernel-e89d60301d15231c)
bit_length time: [678.13 ns 678.60 ns 679.23 ns]
Found 8 outliers among 100 measurements (8.00%)
3 (3.00%) low mild
2 (2.00%) high mild
3 (3.00%) high severe
Running benches/boolean_append_packed.rs (target/release/deps/boolean_append_packed-4f99bb8b47350b7b)
boolean_append_packed time: [2.2933 µs 2.2961 µs 2.2998 µs]
Found 9 outliers among 100 measurements (9.00%)
2 (2.00%) low mild
3 (3.00%) high mild
4 (4.00%) high severe
Running benches/buffer_bit_ops.rs (target/release/deps/buffer_bit_ops-796dd357d8f23e1a)
buffer_binary_ops/and time: [106.39 ns 106.45 ns 106.52 ns]
thrpt: [134.30 GiB/s 134.38 GiB/s 134.46 GiB/s]
Found 6 outliers among 100 measurements (6.00%)
2 (2.00%) low mild
4 (4.00%) high mild
buffer_binary_ops/or time: [106.28 ns 106.46 ns 106.63 ns]
thrpt: [134.16 GiB/s 134.37 GiB/s 134.60 GiB/s]
Found 10 outliers among 100 measurements (10.00%)
7 (7.00%) low severe
3 (3.00%) low mild
buffer_binary_ops/and_with_offset
time: [648.11 ns 648.37 ns 648.70 ns]
thrpt: [22.052 GiB/s 22.063 GiB/s 22.072 GiB/s]
Found 5 outliers among 100 measurements (5.00%)
2 (2.00%) low mild
1 (1.00%) high mild
2 (2.00%) high severe
buffer_binary_ops/or_with_offset
time: [654.64 ns 654.82 ns 655.01 ns]
thrpt: [21.840 GiB/s 21.846 GiB/s 21.852 GiB/s]
Found 9 outliers among 100 measurements (9.00%)
1 (1.00%) low severe
3 (3.00%) low mild
2 (2.00%) high mild
3 (3.00%) high severe
buffer_unary_ops/not time: [78.384 ns 78.817 ns 79.249 ns]
thrpt: [120.34 GiB/s 121.00 GiB/s 121.67 GiB/s]
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) low mild
buffer_unary_ops/not_with_offset
time: [318.47 ns 318.65 ns 318.83 ns]
thrpt: [29.911 GiB/s 29.929 GiB/s 29.945 GiB/s]
Found 6 outliers among 100 measurements (6.00%)
6 (6.00%) high mild
Running benches/csv_writer.rs (target/release/deps/csv_writer-29c89d9bd6c2029c)
record_batches_to_csv time: [10.015 µs 10.037 µs 10.057 µs]
Found 19 outliers among 100 measurements (19.00%)
18 (18.00%) high mild
1 (1.00%) high severe
Running benches/decimal_validate.rs (target/release/deps/decimal_validate-b2f7811ba4211289)
validate_decimal32_array 20000
time: [49.849 ns 49.939 ns 50.040 ns]
Found 3 outliers among 100 measurements (3.00%)
3 (3.00%) high mild
validate_decimal64_array 20000
time: [49.636 ns 49.722 ns 49.818 ns]
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) high mild
3 (3.00%) high severe
validate_decimal128_array 20000
time: [49.637 ns 49.726 ns 49.825 ns]
validate_decimal256_array 20000
time: [49.639 ns 49.730 ns 49.831 ns]
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
Running benches/length_kernel.rs (target/release/deps/length_kernel-285f0e8994782783)
length time: [296.72 ns 297.04 ns 297.37 ns]
Found 6 outliers among 100 measurements (6.00%)
1 (1.00%) low mild
4 (4.00%) high mild
1 (1.00%) high severe
Running benches/string_dictionary_builder.rs (target/release/deps/string_dictionary_builder-6347a8f83709997f)
string_dictionary_builder/(dict_size:20, len:1000, key_len: 5)
time: [8.1393 µs 8.1575 µs 8.1767 µs]
string_dictionary_builder/(dict_size:100, len:1000, key_len: 5)
time: [9.7201 µs 9.7386 µs 9.7575 µs]
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
string_dictionary_builder/(dict_size:100, len:1000, key_len: 10)
time: [9.6499 µs 9.6587 µs 9.6677 µs]
Found 2 outliers among 100 measurements (2.00%)
2 (2.00%) high severe
string_dictionary_builder/(dict_size:100, len:10000, key_len: 10)
time: [75.519 µs 75.589 µs 75.658 µs]
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low mild
3 (3.00%) high mild
string_dictionary_builder/(dict_size:100, len:10000, key_len: 100)
time: [292.06 µs 294.47 µs 297.26 µs]
Found 16 outliers among 100 measurements (16.00%)
1 (1.00%) high mild
15 (15.00%) high severe
Running benches/string_run_iterator.rs (target/release/deps/string_run_iterator-761201b11a4f7902)
string_run_iterator/(run_array_len:1024, physical_array_len:256, string_len: 5)
time: [1.5274 µs 1.5279 µs 1.5285 µs]
Found 11 outliers among 100 measurements (11.00%)
1 (1.00%) low severe
2 (2.00%) low mild
4 (4.00%) high mild
4 (4.00%) high severe
string_run_iterator/(run_array_len:1024, physical_array_len:256, string_len: 25)
time: [1.5277 µs 1.5287 µs 1.5299 µs]
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
string_run_iterator/(run_array_len:1024, physical_array_len:256, string_len: 100)
time: [1.5269 µs 1.5275 µs 1.5281 µs]
Found 7 outliers among 100 measurements (7.00%)
1 (1.00%) low severe
3 (3.00%) low mild
2 (2.00%) high mild
1 (1.00%) high severe
string_run_iterator/(run_array_len:2048, physical_array_len:512, string_len: 5)
time: [3.0838 µs 3.0851 µs 3.0865 µs]
Found 2 outliers among 100 measurements (2.00%)
2 (2.00%) high severe
string_run_iterator/(run_array_len:2048, physical_array_len:512, string_len: 25)
time: [3.0805 µs 3.0836 µs 3.0875 µs]
Found 11 outliers among 100 measurements (11.00%)
3 (3.00%) low mild
5 (5.00%) high mild
3 (3.00%) high severe
string_run_iterator/(run_array_len:2048, physical_array_len:512, string_len: 100)
time: [3.0793 µs 3.0807 µs 3.0819 µs]
Found 5 outliers among 100 measurements (5.00%)
1 (1.00%) low severe
2 (2.00%) low mild
2 (2.00%) high mild
string_run_iterator/(run_array_len:4096, physical_array_len:1024, string_len: 5)
time: [6.1962 µs 6.1998 µs 6.2034 µs]
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) low mild
1 (1.00%) high mild
1 (1.00%) high severe
string_run_iterator/(run_array_len:4096, physical_array_len:1024, string_len: 25)
time: [6.1834 µs 6.1876 µs 6.1935 µs]
Found 13 outliers among 100 measurements (13.00%)
1 (1.00%) low severe
3 (3.00%) low mild
2 (2.00%) high mild
7 (7.00%) high severe
string_run_iterator/(run_array_len:4096, physical_array_len:1024, string_len: 100)
time: [6.1848 µs 6.1865 µs 6.1884 µs]
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) low severe
2 (2.00%) low mild
2 (2.00%) high mild
3 (3.00%) high severeAftervalidate_binary_array_data 20000
time: [14.001 µs 14.272 µs 14.597 µs]
change: [−2.7391% −0.0953% +2.6683%] (p = 0.93 > 0.05)
No change in performance detected.
Found 24 outliers among 100 measurements (24.00%)
4 (4.00%) low severe
1 (1.00%) low mild
2 (2.00%) high mild
17 (17.00%) high severe
validate_utf8_array_data 20000
time: [20.700 µs 20.716 µs 20.736 µs]
change: [+0.0078% +0.1017% +0.2212%] (p = 0.08 > 0.05)
No change in performance detected.
Found 7 outliers among 100 measurements (7.00%)
3 (3.00%) high mild
4 (4.00%) high severe
byte_array_to_string_array 20000
time: [8.9163 µs 8.9195 µs 8.9232 µs]
change: [−0.0371% +0.0734% +0.1991%] (p = 0.25 > 0.05)
No change in performance detected.
Found 13 outliers among 100 measurements (13.00%)
3 (3.00%) low severe
1 (1.00%) low mild
2 (2.00%) high mild
7 (7.00%) high severe
Running benches/array_from.rs (target/release/deps/array_from-9343ef2b99f52d98)
array_from_vec 128 time: [91.867 ns 92.027 ns 92.209 ns]
change: [+0.0723% +0.3575% +0.5822%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 2 outliers among 100 measurements (2.00%)
2 (2.00%) high mild
array_from_vec 256 time: [94.176 ns 94.262 ns 94.363 ns]
change: [+0.2725% +0.3894% +0.5017%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 20 outliers among 100 measurements (20.00%)
1 (1.00%) low severe
1 (1.00%) low mild
11 (11.00%) high mild
7 (7.00%) high severe
array_from_vec 512 time: [114.82 ns 115.24 ns 115.88 ns]
change: [−2.6231% −2.3470% −2.0491%] (p = 0.00 < 0.05)
Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
3 (3.00%) high severe
array_string_from_vec 128
time: [525.02 ns 525.67 ns 526.69 ns]
change: [−10.101% −9.8957% −9.6811%] (p = 0.00 < 0.05)
Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
5 (5.00%) low mild
1 (1.00%) high mild
1 (1.00%) high severe
array_string_from_vec 256
time: [865.94 ns 866.51 ns 867.34 ns]
change: [−10.655% −10.360% −10.087%] (p = 0.00 < 0.05)
Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
5 (5.00%) low severe
1 (1.00%) high mild
2 (2.00%) high severe
array_string_from_vec 512
time: [1.5226 µs 1.5244 µs 1.5267 µs]
change: [−10.352% −10.136% −9.9509%] (p = 0.00 < 0.05)
Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
1 (1.00%) low mild
3 (3.00%) high mild
3 (3.00%) high severe
struct_array_from_vec 128
time: [949.76 ns 952.90 ns 957.55 ns]
change: [−7.0842% −6.8106% −6.3804%] (p = 0.00 < 0.05)
Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
1 (1.00%) low mild
1 (1.00%) high mild
5 (5.00%) high severe
struct_array_from_vec 256
time: [1.4319 µs 1.4328 µs 1.4337 µs]
change: [−0.2612% −0.1169% +0.0043%] (p = 0.09 > 0.05)
No change in performance detected.
Found 4 outliers among 100 measurements (4.00%)
4 (4.00%) low mild
struct_array_from_vec 512
time: [2.3449 µs 2.3500 µs 2.3591 µs]
change: [−2.2935% −2.0491% −1.7723%] (p = 0.00 < 0.05)
Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
1 (1.00%) low mild
1 (1.00%) high mild
1 (1.00%) high severe
struct_array_from_vec 1024
time: [4.2325 µs 4.2361 µs 4.2399 µs]
change: [−3.3490% −3.1717% −2.9961%] (p = 0.00 < 0.05)
Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
4 (4.00%) low mild
2 (2.00%) high mild
2 (2.00%) high severe
decimal32_array_from_vec 32768
time: [36.065 µs 36.099 µs 36.137 µs]
change: [+0.6536% +0.8232% +0.9760%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severe
decimal64_array_from_vec 32768
time: [38.618 µs 38.648 µs 38.680 µs]
change: [−6.3179% −6.1972% −6.0548%] (p = 0.00 < 0.05)
Performance has improved.
Found 10 outliers among 100 measurements (10.00%)
3 (3.00%) low mild
3 (3.00%) high mild
4 (4.00%) high severe
decimal128_array_from_vec 32768
time: [41.838 µs 41.972 µs 42.153 µs]
change: [−0.2502% +0.7106% +1.7778%] (p = 0.18 > 0.05)
No change in performance detected.
Found 15 outliers among 100 measurements (15.00%)
4 (4.00%) high mild
11 (11.00%) high severe
decimal256_array_from_vec 32768
time: [2.0740 µs 2.0790 µs 2.0845 µs]
change: [−0.1742% +0.4496% +0.8867%] (p = 0.09 > 0.05)
No change in performance detected.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
Int64Array::from_iter time: [17.103 µs 17.112 µs 17.123 µs]
change: [−0.2564% −0.1157% −0.0194%] (p = 0.05 < 0.05)
Change within noise threshold.
Found 8 outliers among 100 measurements (8.00%)
7 (7.00%) high mild
1 (1.00%) high severe
Int64Array::from_trusted_len_iter
time: [11.103 µs 11.772 µs 12.460 µs]
change: [+8.2148% +13.428% +18.857%] (p = 0.00 < 0.05)
Performance has regressed.
BooleanArray::from_iter time: [10.227 µs 10.231 µs 10.235 µs]
change: [+4.7642% +4.8479% +4.9270%] (p = 0.00 < 0.05)
Performance has regressed.
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) low mild
2 (2.00%) high mild
5 (5.00%) high severe
BooleanArray::from_trusted_len_iter
time: [9.0738 µs 9.1081 µs 9.1571 µs]
change: [−11.081% −9.2381% −7.3183%] (p = 0.00 < 0.05)
Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
1 (1.00%) low severe
2 (2.00%) low mild
10 (10.00%) high severe
Running benches/array_slice.rs (target/release/deps/array_slice-f2c6fc03ce5284e8)
array_slice 128 time: [55.606 ns 55.736 ns 55.881 ns]
change: [+1.5236% +2.0023% +2.3885%] (p = 0.00 < 0.05)
Performance has regressed.
Found 2 outliers among 100 measurements (2.00%)
2 (2.00%) high mild
array_slice 512 time: [55.524 ns 55.617 ns 55.723 ns]
change: [−1.0006% −0.7270% −0.4281%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
array_slice 2048 time: [61.168 ns 61.335 ns 61.515 ns]
change: [−0.3676% −0.0750% +0.2470%] (p = 0.63 > 0.05)
No change in performance detected.
Running benches/bit_length_kernel.rs (target/release/deps/bit_length_kernel-685c487b3bcb47fa)
bit_length time: [678.32 ns 680.08 ns 683.31 ns]
change: [−0.0344% +0.2071% +0.5899%] (p = 0.24 > 0.05)
No change in performance detected.
Found 13 outliers among 100 measurements (13.00%)
2 (2.00%) low severe
4 (4.00%) low mild
1 (1.00%) high mild
6 (6.00%) high severe
Running benches/boolean_append_packed.rs (target/release/deps/boolean_append_packed-5ee5c75fde11ba8d)
boolean_append_packed time: [2.4415 µs 2.4458 µs 2.4508 µs]
change: [+6.1090% +6.3462% +6.5602%] (p = 0.00 < 0.05)
Performance has regressed.
Found 5 outliers among 100 measurements (5.00%)
2 (2.00%) high mild
3 (3.00%) high severe
Running benches/buffer_bit_ops.rs (target/release/deps/buffer_bit_ops-4754ab3b32a9d575)
buffer_binary_ops/and time: [107.49 ns 107.62 ns 107.76 ns]
thrpt: [132.75 GiB/s 132.92 GiB/s 133.08 GiB/s]
change:
time: [+1.1265% +1.2516% +1.3772%] (p = 0.00 < 0.05)
thrpt: [−1.3585% −1.2361% −1.1140%]
Performance has regressed.
Found 4 outliers among 100 measurements (4.00%)
3 (3.00%) high mild
1 (1.00%) high severe
buffer_binary_ops/or time: [109.22 ns 109.43 ns 109.72 ns]
thrpt: [130.38 GiB/s 130.72 GiB/s 130.98 GiB/s]
change:
time: [+2.5734% +2.8222% +3.0981%] (p = 0.00 < 0.05)
thrpt: [−3.0050% −2.7447% −2.5088%]
Performance has regressed.
Found 5 outliers among 100 measurements (5.00%)
1 (1.00%) high mild
4 (4.00%) high severe
buffer_binary_ops/and_with_offset
time: [660.32 ns 660.46 ns 660.62 ns]
thrpt: [21.654 GiB/s 21.659 GiB/s 21.664 GiB/s]
change:
time: [+1.6066% +1.7380% +1.8417%] (p = 0.00 < 0.05)
thrpt: [−1.8084% −1.7083% −1.5812%]
Performance has regressed.
Found 16 outliers among 100 measurements (16.00%)
3 (3.00%) low severe
5 (5.00%) low mild
2 (2.00%) high mild
6 (6.00%) high severe
buffer_binary_ops/or_with_offset
time: [666.89 ns 667.47 ns 668.30 ns]
thrpt: [21.405 GiB/s 21.432 GiB/s 21.450 GiB/s]
change:
time: [+1.8004% +1.9137% +2.0723%] (p = 0.00 < 0.05)
thrpt: [−2.0302% −1.8777% −1.7685%]
Performance has regressed.
Found 9 outliers among 100 measurements (9.00%)
3 (3.00%) low mild
3 (3.00%) high mild
3 (3.00%) high severe
buffer_unary_ops/not time: [92.938 ns 93.083 ns 93.257 ns]
thrpt: [102.26 GiB/s 102.45 GiB/s 102.61 GiB/s]
change:
time: [+17.334% +18.122% +18.937%] (p = 0.00 < 0.05)
thrpt: [−15.922% −15.341% −14.773%]
Performance has regressed.
Found 7 outliers among 100 measurements (7.00%)
4 (4.00%) high mild
3 (3.00%) high severe
buffer_unary_ops/not_with_offset
time: [330.04 ns 330.47 ns 331.33 ns]
thrpt: [28.784 GiB/s 28.858 GiB/s 28.896 GiB/s]
change:
time: [+3.5187% +3.6647% +3.8918%] (p = 0.00 < 0.05)
thrpt: [−3.7460% −3.5352% −3.3991%]
Performance has regressed.
Found 9 outliers among 100 measurements (9.00%)
1 (1.00%) low severe
1 (1.00%) low mild
2 (2.00%) high mild
5 (5.00%) high severe
Running benches/csv_writer.rs (target/release/deps/csv_writer-89c72f00bb43c5e4)
record_batches_to_csv time: [9.6657 µs 9.6768 µs 9.6883 µs]
change: [−3.5289% −3.3767% −3.2178%] (p = 0.00 < 0.05)
Performance has improved.
Found 6 outliers among 100 measurements (6.00%)
1 (1.00%) low mild
3 (3.00%) high mild
2 (2.00%) high severe
Running benches/decimal_validate.rs (target/release/deps/decimal_validate-49316795693ac24a)
validate_decimal32_array 20000
time: [49.851 ns 49.938 ns 50.027 ns]
change: [−0.4215% −0.1820% +0.0704%] (p = 0.14 > 0.05)
No change in performance detected.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) low mild
1 (1.00%) high mild
validate_decimal64_array 20000
time: [49.659 ns 49.746 ns 49.838 ns]
change: [−1.7994% −0.8400% −0.1054%] (p = 0.04 < 0.05)
Change within noise threshold.
validate_decimal128_array 20000
time: [49.648 ns 49.739 ns 49.832 ns]
change: [−0.2837% −0.0639% +0.1590%] (p = 0.58 > 0.05)
No change in performance detected.
validate_decimal256_array 20000
time: [49.645 ns 49.738 ns 49.835 ns]
change: [−0.3297% −0.0846% +0.1435%] (p = 0.49 > 0.05)
No change in performance detected.
Running benches/length_kernel.rs (target/release/deps/length_kernel-62be548b6447a79c)
length time: [296.08 ns 296.33 ns 296.58 ns]
change: [−1.8578% −0.8026% −0.1890%] (p = 0.05 > 0.05)
No change in performance detected.
Found 5 outliers among 100 measurements (5.00%)
3 (3.00%) low mild
2 (2.00%) high severe
Running benches/string_dictionary_builder.rs (target/release/deps/string_dictionary_builder-ef3568545b0aa444)
string_dictionary_builder/(dict_size:20, len:1000, key_len: 5)
time: [8.1071 µs 8.1279 µs 8.1500 µs]
change: [−0.8137% −0.5768% −0.3325%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 3 outliers among 100 measurements (3.00%)
3 (3.00%) high mild
string_dictionary_builder/(dict_size:100, len:1000, key_len: 5)
time: [9.7811 µs 9.8202 µs 9.8681 µs]
change: [−0.0390% +0.2796% +0.6027%] (p = 0.10 > 0.05)
No change in performance detected.
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) high mild
2 (2.00%) high severe
string_dictionary_builder/(dict_size:100, len:1000, key_len: 10)
time: [9.5445 µs 9.5829 µs 9.6427 µs]
change: [−1.2681% −0.9245% −0.4447%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 10 outliers among 100 measurements (10.00%)
1 (1.00%) low mild
2 (2.00%) high mild
7 (7.00%) high severe
string_dictionary_builder/(dict_size:100, len:10000, key_len: 10)
time: [75.828 µs 76.185 µs 76.630 µs]
change: [+0.5209% +1.1162% +1.8147%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 12 outliers among 100 measurements (12.00%)
1 (1.00%) high mild
11 (11.00%) high severe
string_dictionary_builder/(dict_size:100, len:10000, key_len: 100)
time: [289.67 µs 290.07 µs 290.62 µs]
change: [−1.3223% −0.6532% +0.0235%] (p = 0.07 > 0.05)
No change in performance detected.
Found 14 outliers among 100 measurements (14.00%)
5 (5.00%) high mild
9 (9.00%) high severe
Running benches/string_run_iterator.rs (target/release/deps/string_run_iterator-bc8bd111616d7677)
string_run_iterator/(run_array_len:1024, physical_array_len:256, string_len: 5)
time: [1.5269 µs 1.5273 µs 1.5277 µs]
change: [−0.0859% +0.0037% +0.1039%] (p = 0.94 > 0.05)
No change in performance detected.
Found 14 outliers among 100 measurements (14.00%)
2 (2.00%) low severe
8 (8.00%) high mild
4 (4.00%) high severe
string_run_iterator/(run_array_len:1024, physical_array_len:256, string_len: 25)
time: [1.5292 µs 1.5301 µs 1.5309 µs]
change: [−0.1310% −0.0638% +0.0030%] (p = 0.07 > 0.05)
No change in performance detected.
Found 7 outliers among 100 measurements (7.00%)
1 (1.00%) low severe
2 (2.00%) low mild
4 (4.00%) high mild
string_run_iterator/(run_array_len:1024, physical_array_len:256, string_len: 100)
time: [1.5268 µs 1.5275 µs 1.5283 µs]
change: [−0.1321% −0.0656% −0.0006%] (p = 0.05 > 0.05)
No change in performance detected.
Found 8 outliers among 100 measurements (8.00%)
4 (4.00%) low mild
3 (3.00%) high mild
1 (1.00%) high severe
string_run_iterator/(run_array_len:2048, physical_array_len:512, string_len: 5)
time: [3.0876 µs 3.0891 µs 3.0904 µs]
change: [+0.0155% +0.0899% +0.1633%] (p = 0.02 < 0.05)
Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
string_run_iterator/(run_array_len:2048, physical_array_len:512, string_len: 25)
time: [3.0845 µs 3.0856 µs 3.0866 µs]
change: [+0.0890% +0.1775% +0.2630%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 5 outliers among 100 measurements (5.00%)
1 (1.00%) low severe
1 (1.00%) low mild
2 (2.00%) high mild
1 (1.00%) high severe
string_run_iterator/(run_array_len:2048, physical_array_len:512, string_len: 100)
time: [3.0782 µs 3.0790 µs 3.0797 µs]
change: [−0.0532% −0.0166% +0.0229%] (p = 0.38 > 0.05)
No change in performance detected.
Found 7 outliers among 100 measurements (7.00%)
1 (1.00%) low severe
1 (1.00%) low mild
3 (3.00%) high mild
2 (2.00%) high severe
string_run_iterator/(run_array_len:4096, physical_array_len:1024, string_len: 5)
time: [6.1782 µs 6.1800 µs 6.1819 µs]
change: [−0.3632% −0.3066% −0.2496%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 5 outliers among 100 measurements (5.00%)
3 (3.00%) low mild
2 (2.00%) high mild
string_run_iterator/(run_array_len:4096, physical_array_len:1024, string_len: 25)
time: [6.1912 µs 6.1953 µs 6.1997 µs]
change: [+0.0040% +0.0725% +0.1359%] (p = 0.04 < 0.05)
Change within noise threshold.
Found 3 outliers among 100 measurements (3.00%)
2 (2.00%) high mild
1 (1.00%) high severe
string_run_iterator/(run_array_len:4096, physical_array_len:1024, string_len: 100)
time: [6.1804 µs 6.1830 µs 6.1856 µs]
change: [−0.1807% −0.0626% +0.0617%] (p = 0.34 > 0.05)
No change in performance detected.
Found 12 outliers among 100 measurements (12.00%)
1 (1.00%) low severe
3 (3.00%) low mild
5 (5.00%) high mild
3 (3.00%) high severe |
Which issue does this PR close?
N/A.
Rationale for this change
Prior art:
serde_jsonswitch tozmij.What changes are included in this PR?
zmijalready supports f32 formatting, so switch fromryutozmij.Are these changes tested?
Yes.
Are there any user-facing changes?
No.