BlogDocs

iterative algorithm for take_value(#134)

Merged
Merging
dh/iterative-take
(
546c4df
) into
main
(
dd25fd0
)
-11%
IMPROVEMENTS
1
REGRESSIONS
1
UNTOUCHED
71
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Failed

x100_jiter_skipRegression
crates/jiter/benches/main.rs::x100_jiter_skip
-11%
1.2 µs
1.3 µs

Improved

pass2_jiter_value
crates/jiter/benches/main.rs::pass2_jiter_value
+30%
22.1 µs
17.1 µs

Passed

short_numbers_jiter_value
crates/jiter/benches/main.rs::short_numbers_jiter_value
+8%
171.1 µs
159 µs
true_object_jiter_value
crates/jiter/benches/main.rs::true_object_jiter_value
+6%
31.8 µs
29.9 µs
bigints_array_jiter_value
crates/jiter/benches/main.rs::bigints_array_jiter_value
+6%
220 µs
208.1 µs
big_jiter_value
crates/jiter/benches/main.rs::big_jiter_value
+5%
52.5 ms
49.8 ms
medium_response_jiter_value
crates/jiter/benches/main.rs::medium_response_jiter_value
+5%
42.7 µs
40.8 µs
true_array_jiter_value
crates/jiter/benches/main.rs::true_array_jiter_value
+4%
16.3 µs
15.6 µs
floats_array_jiter_value
crates/jiter/benches/main.rs::floats_array_jiter_value
+4%
314.7 µs
302.6 µs
medium_response_jiter_value_owned
crates/jiter/benches/main.rs::medium_response_jiter_value_owned
+4%
55.2 µs
53.1 µs
string_array_jiter_value
crates/jiter/benches/main.rs::string_array_jiter_value
+3%
20 µs
19.4 µs
pass2_serde_value
crates/jiter/benches/main.rs::pass2_serde_value
+3%
16.2 µs
15.8 µs
sentence_jiter_iter
crates/jiter/benches/main.rs::sentence_jiter_iter
+3%
7.2 µs
7 µs
massive_ints_array_jiter_value
crates/jiter/benches/main.rs::massive_ints_array_jiter_value
+2%
791.7 µs
779.4 µs
string_array_jiter_value_owned
crates/jiter/benches/main.rs::string_array_jiter_value_owned
+1%
39.5 µs
39 µs
unicode_jiter_value
crates/jiter/benches/main.rs::unicode_jiter_value
+1%
8.8 µs
8.7 µs
python_parse_numeric
crates/jiter/benches/python.rs::python_parse_numeric
+1%
13.7 µs
13.6 µs
python_parse_x100_not_cached
crates/jiter/benches/python.rs::python_parse_x100_not_cached
+1%
3.6 µs
3.6 µs
python_parse_x100
crates/jiter/benches/python.rs::python_parse_x100
+1%
3.7 µs
3.7 µs
python_parse_medium_response_not_cached
crates/jiter/benches/python.rs::python_parse_medium_response_not_cached
+1%
65.1 µs
64.6 µs
pass1_jiter_value
crates/jiter/benches/main.rs::pass1_jiter_value
+1%
37.8 µs
37.6 µs
lazy_map_lookup_2_20
crates/jiter/benches/main.rs::lazy_map_lookup_2_20
+1%
25.5 µs
25.4 µs
python_parse_string_array_not_cached
crates/jiter/benches/python.rs::python_parse_string_array_not_cached
+1%
40.1 µs
39.9 µs
true_array_serde_value
crates/jiter/benches/main.rs::true_array_serde_value
0%
24.2 µs
24.2 µs
python_parse_medium_response
crates/jiter/benches/python.rs::python_parse_medium_response
0%
53.8 µs
53.7 µs
bigints_array_serde_value
crates/jiter/benches/main.rs::bigints_array_serde_value
0%
740.4 µs
739.4 µs
python_parse_massive_ints_array
crates/jiter/benches/python.rs::python_parse_massive_ints_array
0%
1.2 ms
1.2 ms
python_parse_true_object
crates/jiter/benches/python.rs::python_parse_true_object
0%
54.1 µs
54.1 µs
x100_jiter_value
crates/jiter/benches/main.rs::x100_jiter_value
0%
1.5 µs
1.5 µs
sentence_jiter_value
crates/jiter/benches/main.rs::sentence_jiter_value
0%
7.9 µs
7.9 µs
medium_response_jiter_skip
crates/jiter/benches/main.rs::medium_response_jiter_skip
0%
16.8 µs
16.8 µs
x100_jiter_iter
crates/jiter/benches/main.rs::x100_jiter_iter
0%
1.2 µs
1.2 µs
x100_serde_iter
crates/jiter/benches/main.rs::x100_serde_iter
0%
2.8 µs
2.8 µs
python_parse_string_array_unique_not_cached
crates/jiter/benches/python.rs::python_parse_string_array_unique_not_cached
0%
3.6 ms
3.6 ms
floats_array_jiter_iter
crates/jiter/benches/main.rs::floats_array_jiter_iter
0%
182 µs
182 µs
massive_ints_array_jiter_iter
crates/jiter/benches/main.rs::massive_ints_array_jiter_iter
0%
573.8 µs
574 µs
massive_ints_array_jiter_skip
crates/jiter/benches/main.rs::massive_ints_array_jiter_skip
0%
222.9 µs
223 µs
floats_array_jiter_skip
crates/jiter/benches/main.rs::floats_array_jiter_skip
0%
105.4 µs
105.5 µs
medium_response_serde_value
crates/jiter/benches/main.rs::medium_response_serde_value
0%
83.3 µs
83.4 µs
massive_ints_array_serde_value
crates/jiter/benches/main.rs::massive_ints_array_serde_value
0%
2.2 ms
2.2 ms
bigints_array_jiter_iter
crates/jiter/benches/main.rs::bigints_array_jiter_iter
0%
125.2 µs
125.4 µs
floats_array_serde_value
crates/jiter/benches/main.rs::floats_array_serde_value
0%
1.2 ms
1.2 ms
short_numbers_serde_value
crates/jiter/benches/main.rs::short_numbers_serde_value
0%
563.4 µs
564.2 µs
short_numbers_jiter_skip
crates/jiter/benches/main.rs::short_numbers_jiter_skip
0%
59 µs
59.1 µs
bigints_array_jiter_skip
crates/jiter/benches/main.rs::bigints_array_jiter_skip
0%
93.3 µs
93.5 µs
python_parse_string_array_unique
crates/jiter/benches/python.rs::python_parse_string_array_unique
0%
2.2 ms
2.2 ms
true_object_jiter_iter
crates/jiter/benches/main.rs::true_object_jiter_iter
0%
21.7 µs
21.8 µs
pass1_serde_value
crates/jiter/benches/main.rs::pass1_serde_value
0%
70.2 µs
70.4 µs
true_object_jiter_skip
crates/jiter/benches/main.rs::true_object_jiter_skip
0%
12.8 µs
12.9 µs
lazy_map_lookup_1_10
crates/jiter/benches/main.rs::lazy_map_lookup_1_10
-1%
8.9 µs
9 µs
true_array_jiter_iter
crates/jiter/benches/main.rs::true_array_jiter_iter
-1%
4.4 µs
4.5 µs
pass1_jiter_skip
crates/jiter/benches/main.rs::pass1_jiter_skip
-1%
13.3 µs
13.4 µs
big_jiter_iter
crates/jiter/benches/main.rs::big_jiter_iter
-1%
36.8 ms
37.1 ms
python_parse_string_array
crates/jiter/benches/python.rs::python_parse_string_array
-1%
26.2 µs
26.3 µs
big_jiter_skip
crates/jiter/benches/main.rs::big_jiter_skip
-1%
19 ms
19.1 ms
unicode_jiter_iter
crates/jiter/benches/main.rs::unicode_jiter_iter
-1%
7.6 µs
7.6 µs
python_parse_true_object_not_cached
crates/jiter/benches/python.rs::python_parse_true_object_not_cached
-1%
73.2 µs
73.8 µs
big_serde_value
crates/jiter/benches/main.rs::big_serde_value
-1%
206.8 ms
209 ms
true_object_serde_value
crates/jiter/benches/main.rs::true_object_serde_value
-1%
77.4 µs
78.4 µs
string_array_serde_value
crates/jiter/benches/main.rs::string_array_serde_value
-1%
51 µs
51.8 µs
python_parse_other
crates/jiter/benches/python.rs::python_parse_other
-2%
6.6 µs
6.7 µs
true_array_jiter_skip
crates/jiter/benches/main.rs::true_array_jiter_skip
-2%
4.4 µs
4.5 µs
string_array_jiter_skip
crates/jiter/benches/main.rs::string_array_jiter_skip
-2%
7.3 µs
7.4 µs
pass2_jiter_iter
crates/jiter/benches/main.rs::pass2_jiter_iter
-2%
6.6 µs
6.7 µs
string_array_jiter_iter
crates/jiter/benches/main.rs::string_array_jiter_iter
-2%
7.8 µs
7.9 µs
unicode_serde_value
crates/jiter/benches/main.rs::unicode_serde_value
-2%
8.3 µs
8.6 µs
lazy_map_lookup_3_50
crates/jiter/benches/main.rs::lazy_map_lookup_3_50
-3%
51.6 µs
53 µs
pass2_jiter_skip
crates/jiter/benches/main.rs::pass2_jiter_skip
-3%
2.2 µs
2.2 µs
x100_serde_value
crates/jiter/benches/main.rs::x100_serde_value
-4%
3.3 µs
3.4 µs
python_parse_true_array
crates/jiter/benches/python.rs::python_parse_true_array
-5%
15.1 µs
15.9 µs
sentence_serde_value
crates/jiter/benches/main.rs::sentence_serde_value
-7%
8.1 µs
8.6 µs
unicode_jiter_skip
crates/jiter/benches/main.rs::unicode_jiter_skip
-7%
2.2 µs
2.4 µs
sentence_jiter_skip
crates/jiter/benches/main.rs::sentence_jiter_skip
-8%
2.1 µs
2.3 µs

Commits

Click on a commit to change the comparison range
base
main
dd25fd0
-48%
iterative algorithm for take_value
0b0350b
9 days ago
by davidhewitt
+2%
try to avoid lots of mem moves
ebd407e
9 days ago
by davidhewitt
+3%
split array / object loops to be hotter
fc455a2
9 days ago
by davidhewitt
+72%
try arc-ing inside recursed values
f66635c
9 days ago
by davidhewitt
-40%
clippy, pull last value off stack
546c4df
9 days ago
by davidhewitt
ResourcesHomePricingDocsBlogGitHubChangelog
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.