BlogDocs

fast path for ASCII python strings(#72)

Merged
Merging
ascii-string-creation
into
main
+13%
IMPROVEMENTS
3
REGRESSIONS
0
UNTOUCHED
53
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

big_jiter_iter
crates/jiter/benches/main.rs::big_jiter_iter
-3%
35.4 ms
36.3 ms
big_jiter_value
crates/jiter/benches/main.rs::big_jiter_value
-4%
52.7 ms
55.1 ms
big_serde_value
crates/jiter/benches/main.rs::big_serde_value
-5%
197.7 ms
207.5 ms
bigints_array_jiter_iter
crates/jiter/benches/main.rs::bigints_array_jiter_iter
0%
147 µs
147 µs
bigints_array_jiter_value
crates/jiter/benches/main.rs::bigints_array_jiter_value
0%
231 µs
230.8 µs
bigints_array_serde_value
crates/jiter/benches/main.rs::bigints_array_serde_value
0%
725.8 µs
726 µs
floats_array_jiter_iter
crates/jiter/benches/main.rs::floats_array_jiter_iter
0%
179.8 µs
179.7 µs
floats_array_jiter_value
crates/jiter/benches/main.rs::floats_array_jiter_value
0%
318.2 µs
317.9 µs
floats_array_serde_value
crates/jiter/benches/main.rs::floats_array_serde_value
0%
1.1 ms
1.1 ms
lazy_map_lookup_1_10
crates/jiter/benches/main.rs::lazy_map_lookup_1_10
0%
9.1 µs
9.1 µs
lazy_map_lookup_2_20
crates/jiter/benches/main.rs::lazy_map_lookup_2_20
-1%
25.1 µs
25.3 µs
lazy_map_lookup_3_50
crates/jiter/benches/main.rs::lazy_map_lookup_3_50
0%
51 µs
51.1 µs
massive_ints_array_jiter_iter
crates/jiter/benches/main.rs::massive_ints_array_jiter_iter
0%
740.9 µs
740.8 µs
massive_ints_array_jiter_value
crates/jiter/benches/main.rs::massive_ints_array_jiter_value
0%
948.9 µs
949.4 µs
massive_ints_array_serde_value
crates/jiter/benches/main.rs::massive_ints_array_serde_value
0%
2.2 ms
2.2 ms
medium_response_jiter_value
crates/jiter/benches/main.rs::medium_response_jiter_value
-1%
42.3 µs
42.7 µs
medium_response_jiter_value_owned
crates/jiter/benches/main.rs::medium_response_jiter_value_owned
-1%
54.2 µs
54.5 µs
medium_response_serde_value
crates/jiter/benches/main.rs::medium_response_serde_value
-1%
82.9 µs
83.7 µs
pass1_jiter_value
crates/jiter/benches/main.rs::pass1_jiter_value
-1%
37.9 µs
38.2 µs
pass1_serde_value
crates/jiter/benches/main.rs::pass1_serde_value
-1%
69.7 µs
70.2 µs
pass2_jiter_iter
crates/jiter/benches/main.rs::pass2_jiter_iter
+3%
6.6 µs
6.4 µs
pass2_jiter_value
crates/jiter/benches/main.rs::pass2_jiter_value
-1%
22.5 µs
22.6 µs
pass2_serde_value
crates/jiter/benches/main.rs::pass2_serde_value
-2%
15.7 µs
16 µs
sentence_jiter_iter
crates/jiter/benches/main.rs::sentence_jiter_iter
-1%
8.2 µs
8.3 µs
sentence_jiter_value
crates/jiter/benches/main.rs::sentence_jiter_value
+1%
9.3 µs
9.3 µs
sentence_serde_value
crates/jiter/benches/main.rs::sentence_serde_value
-1%
9.9 µs
10 µs
string_array_jiter_iter
crates/jiter/benches/main.rs::string_array_jiter_iter
-1%
8.1 µs
8.1 µs
string_array_jiter_value
crates/jiter/benches/main.rs::string_array_jiter_value
0%
20.6 µs
20.6 µs
string_array_jiter_value_owned
crates/jiter/benches/main.rs::string_array_jiter_value_owned
-1%
39.3 µs
39.6 µs
string_array_serde_value
crates/jiter/benches/main.rs::string_array_serde_value
-1%
49.4 µs
49.7 µs
true_array_jiter_iter
crates/jiter/benches/main.rs::true_array_jiter_iter
-1%
4.9 µs
4.9 µs
true_array_jiter_value
crates/jiter/benches/main.rs::true_array_jiter_value
0%
17 µs
17 µs
true_array_serde_value
crates/jiter/benches/main.rs::true_array_serde_value
0%
23.9 µs
23.9 µs
true_object_jiter_iter
crates/jiter/benches/main.rs::true_object_jiter_iter
-2%
20.8 µs
21.3 µs
true_object_jiter_value
crates/jiter/benches/main.rs::true_object_jiter_value
-2%
30.3 µs
30.9 µs
true_object_serde_value
crates/jiter/benches/main.rs::true_object_serde_value
0%
74.6 µs
74.9 µs
unicode_jiter_iter
crates/jiter/benches/main.rs::unicode_jiter_iter
-2%
8.8 µs
8.9 µs
unicode_jiter_value
crates/jiter/benches/main.rs::unicode_jiter_value
-1%
9.9 µs
10 µs
unicode_serde_value
crates/jiter/benches/main.rs::unicode_serde_value
-3%
10.1 µs
10.4 µs
x100_jiter_iter
crates/jiter/benches/main.rs::x100_jiter_iter
0%
1.2 µs
1.2 µs
x100_jiter_value
crates/jiter/benches/main.rs::x100_jiter_value
+3%
1.7 µs
1.7 µs
x100_serde_iter
crates/jiter/benches/main.rs::x100_serde_iter
+3%
3 µs
2.9 µs
x100_serde_value
crates/jiter/benches/main.rs::x100_serde_value
-1%
3.6 µs
3.6 µs
python_parse_medium_response
crates/jiter/benches/python.rs::python_parse_medium_response
-1%
53.9 µs
54.3 µs
python_parse_medium_response_not_cached
crates/jiter/benches/python.rs::python_parse_medium_response_not_cached
+6%
69.1 µs
65.1 µs
python_parse_numeric
crates/jiter/benches/python.rs::python_parse_numeric
-1%
13.4 µs
13.5 µs
python_parse_other
crates/jiter/benches/python.rs::python_parse_other
+2%
6.5 µs
6.4 µs
python_parse_string_array
crates/jiter/benches/python.rs::python_parse_string_array
-1%
25.4 µs
25.8 µs
python_parse_string_array_not_cached
crates/jiter/benches/python.rs::python_parse_string_array_not_cached
+9%
43.7 µs
40.2 µs
python_parse_string_array_unique
crates/jiter/benches/python.rs::python_parse_string_array_unique
-1%
2.3 ms
2.3 ms
python_parse_string_array_unique_not_cached
crates/jiter/benches/python.rs::python_parse_string_array_unique_not_cached
+11%
4.1 ms
3.7 ms
python_parse_true_array
crates/jiter/benches/python.rs::python_parse_true_array
+2%
15.7 µs
15.3 µs
python_parse_true_object
crates/jiter/benches/python.rs::python_parse_true_object
-2%
53.1 µs
54.5 µs
python_parse_true_object_not_cached
crates/jiter/benches/python.rs::python_parse_true_object_not_cached
+3%
75 µs
72.5 µs
python_parse_x100
crates/jiter/benches/python.rs::python_parse_x100
+12%
4.1 µs
3.7 µs
python_parse_x100_not_cached
crates/jiter/benches/python.rs::python_parse_x100_not_cached
+13%
4 µs
3.5 µs

Commits

Click on a commit to change the comparison range
base
main
cbf2e30
+13%
add test
c241c5d
3 months ago by samuelcolvin
-1%
fix pyo3 version
71a7775
3 months ago by samuelcolvin
+2%
check PyUnicode_KIND, use PyUnicode_DATA
e31f720
3 months ago by samuelcolvin
-1%
Cast not as Co-authored-by: David Hewitt <david.hewitt@pydantic.dev>
95315f9
3 months ago by samuelcolvin
ResourcesHomePricingDocsBlogGitHub
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.