pydantic
jiter
BlogDocsChangelog

convert skip to iterate instead of call recursive functions

#111Merged
Comparing
dh/iter-skip
(
aa6b268
) with
main
(
366d16a
)
CodSpeed Performance Gauge
+67%
Improvements
4
Untouched
69

Benchmarks

Improved

pass2_jiter_skip
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+67%
3.5 µs2.1 µs
big_jiter_skip
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+12%
19.6 ms17.5 ms
short_numbers_jiter_skip
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+11%
61 µs55.1 µs
x100_jiter_skip
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+10%
1.3 µs1.2 µs

Passed

sentence_jiter_iter
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+8%
7.6 µs7.1 µs
true_array_jiter_skip
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+7%
4.9 µs4.6 µs
python_parse_massive_ints_array
crates/jiter/benches/python.rs
CodSpeed Performance Gauge
+7%
1.3 ms1.2 ms
bigints_array_jiter_skip
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+7%
95.3 µs89.4 µs
floats_array_jiter_skip
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+6%
108.2 µs102.4 µs
medium_response_jiter_skip
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+6%
17.3 µs16.4 µs
string_array_jiter_skip
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+5%
7.8 µs7.4 µs
true_object_jiter_skip
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+5%
12.5 µs11.9 µs
x100_jiter_iter
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+5%
1.3 µs1.2 µs
pass1_jiter_skip
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+4%
13.6 µs13 µs
big_serde_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+4%
208.4 ms201.2 ms
big_jiter_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+3%
52.2 ms50.5 ms
x100_serde_iter
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+3%
3 µs2.9 µs
sentence_jiter_skip
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+3%
2.1 µs2.1 µs
massive_ints_array_jiter_skip
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+3%
225.1 µs219.3 µs
unicode_jiter_skip
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+3%
2.3 µs2.2 µs
big_jiter_iter
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+2%
37.2 ms36.5 ms
x100_serde_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+2%
3.6 µs3.5 µs
short_numbers_serde_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+1%
560.7 µs555 µs
medium_response_jiter_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+1%
42.1 µs41.8 µs
true_object_serde_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
+1%
78.7 µs78.3 µs
python_parse_true_object_not_cached
crates/jiter/benches/python.rs
CodSpeed Performance Gauge
+1%
71.9 µs71.5 µs
pass1_serde_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
72 µs71.7 µs
sentence_serde_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
9.1 µs9 µs
string_array_serde_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
51 µs50.8 µs
string_array_jiter_iter
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
8.3 µs8.3 µs
python_parse_string_array
crates/jiter/benches/python.rs
CodSpeed Performance Gauge
0%
27 µs26.9 µs
python_parse_medium_response
crates/jiter/benches/python.rs
CodSpeed Performance Gauge
0%
54.2 µs54.1 µs
floats_array_jiter_iter
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
184.6 µs184.5 µs
bigints_array_jiter_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
218.2 µs218 µs
python_parse_string_array_unique
crates/jiter/benches/python.rs
CodSpeed Performance Gauge
0%
2.3 ms2.3 ms
massive_ints_array_jiter_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
782.7 µs782.4 µs
floats_array_serde_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
1.2 ms1.2 ms
floats_array_jiter_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
313.3 µs313.3 µs
true_object_jiter_iter
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
21.2 µs21.2 µs
bigints_array_jiter_iter
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
126.4 µs126.4 µs
true_array_jiter_iter
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
5 µs5 µs
lazy_map_lookup_1_10
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
9 µs9 µs
python_parse_string_array_unique_not_cached
crates/jiter/benches/python.rs
CodSpeed Performance Gauge
0%
3.7 ms3.7 ms
massive_ints_array_jiter_iter
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
567 µs567 µs
massive_ints_array_serde_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
2.3 ms2.3 ms
true_object_jiter_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
30.6 µs30.6 µs
short_numbers_jiter_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
168.9 µs169 µs
medium_response_serde_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
85.5 µs85.6 µs
bigints_array_serde_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
741.5 µs742.5 µs
python_parse_numeric
crates/jiter/benches/python.rs
CodSpeed Performance Gauge
0%
13.6 µs13.6 µs
unicode_serde_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
9.4 µs9.4 µs
python_parse_true_array
crates/jiter/benches/python.rs
CodSpeed Performance Gauge
0%
16.9 µs16.9 µs
python_parse_other
crates/jiter/benches/python.rs
CodSpeed Performance Gauge
0%
6.6 µs6.6 µs
lazy_map_lookup_3_50
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
0%
52.2 µs52.4 µs
string_array_jiter_value_owned
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
-1%
41.4 µs41.6 µs
python_parse_true_object
crates/jiter/benches/python.rs
CodSpeed Performance Gauge
-1%
53.2 µs53.5 µs
python_parse_string_array_not_cached
crates/jiter/benches/python.rs
CodSpeed Performance Gauge
-1%
40.5 µs40.7 µs
medium_response_jiter_value_owned
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
-1%
56.3 µs56.8 µs
true_array_serde_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
-1%
23.8 µs24.1 µs
python_parse_medium_response_not_cached
crates/jiter/benches/python.rs
CodSpeed Performance Gauge
-1%
64.3 µs65 µs
string_array_jiter_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
-1%
20 µs20.2 µs
pass1_jiter_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
-2%
36.9 µs37.5 µs
lazy_map_lookup_2_20
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
-2%
24.9 µs25.3 µs
true_array_jiter_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
-2%
16.6 µs16.9 µs
pass2_jiter_iter
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
-2%
6.4 µs6.5 µs
pass2_serde_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
-2%
15.7 µs16 µs
x100_jiter_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
-2%
1.5 µs1.5 µs
python_parse_x100
crates/jiter/benches/python.rs
CodSpeed Performance Gauge
-2%
3.6 µs3.7 µs
unicode_jiter_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
-3%
9.1 µs9.3 µs
pass2_jiter_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
-3%
22.6 µs23.3 µs
sentence_jiter_value
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
-3%
8.1 µs8.3 µs
unicode_jiter_iter
crates/jiter/benches/main.rs
CodSpeed Performance Gauge
-4%
7.7 µs8 µs
python_parse_x100_not_cached
crates/jiter/benches/python.rs
CodSpeed Performance Gauge
-4%
3.4 µs3.5 µs

Commits

Click on a commit to change the comparison range
Base
main
366d16a
-22.53%
convert skip to iterate instead of call recursive functions
1194b3e
1 year ago
by davidhewitt
×2.3
try bitvec to avoid allocation
c54e14b
1 year ago
by davidhewitt
avoid stack growth for simple cases
8edf5e0
1 year ago
by davidhewitt
+77.22%
try fix recursion limit calc
aa6b268
1 year ago
by davidhewitt
© 2025 CodSpeed Technology
Home Terms Privacy Docs