BlogDocs

jiter(#974)

Merged
Merging
jiter
into
main
-12%
IMPROVEMENTS
3
REGRESSIONS
1
UNTOUCHED
136
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Failing

test_validate_literal[json-many_small_strings]Regression
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_small_strings]
-12%
22 µs
25 µs

Passing

test_build_schema
tests/benchmarks/test_complete_benchmark.py::test_build_schema
0%
3 ms
3 ms
test_complete_core_error
tests/benchmarks/test_complete_benchmark.py::test_complete_core_error
+1%
10 ms
9.9 ms
test_complete_core_isinstance
tests/benchmarks/test_complete_benchmark.py::test_complete_core_isinstance
+1%
8.8 ms
8.7 ms
test_complete_core_json
tests/benchmarks/test_complete_benchmark.py::test_complete_core_json
+8%
3.3 ms
3 ms
test_complete_core_lax
tests/benchmarks/test_complete_benchmark.py::test_complete_core_lax
+11%
1.4 ms
1.2 ms
test_complete_core_strict
tests/benchmarks/test_complete_benchmark.py::test_complete_core_strict
0%
974.3 µs
977.3 µs
test_core_future
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future
-1%
58.1 µs
58.6 µs
test_core_future_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future_str
+1%
35.2 µs
34.9 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_python
-1%
48.7 µs
49.2 µs
test_core_raw
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_raw
0%
18.8 µs
18.9 µs
test_core_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_str
-1%
33.7 µs
34.1 µs
test_model_core_json
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_model_core_json
-5%
60.7 µs
63.7 µs
test_core_future
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_core_future
0%
34 µs
33.9 µs
test_core_future_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_core_future_str
0%
30.6 µs
30.5 µs
test_date_from_date
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_date
0%
18.9 µs
19 µs
test_date_from_datetime
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime
-4%
43.2 µs
44.9 µs
test_date_from_datetime_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime_str
0%
33.9 µs
34 µs
test_date_from_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_str
+2%
32.2 µs
31.5 µs
test_decimal_from_string_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_core
+35%
69.2 µs
51.3 µs
test_decimal_from_string_limit
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_limit
+2%
24.1 µs
23.6 µs
test_decimal_from_string_pyd
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_pyd
-1%
69.5 µs
70 µs
test_core_json_fs
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_json_fs
+21%
779.6 µs
642.5 µs
test_core_python_fs
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_python_fs
0%
256.7 µs
257.3 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_python
0%
48.2 µs
48.1 µs
test_core_raw
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_raw
-1%
18.8 µs
18.9 µs
test_core_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_str
+4%
68.6 µs
66.2 µs
test_model_core_json
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_model_core_json
+1%
90.5 µs
89.9 µs
test_uuid_from_string_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_string_core
+4%
72.2 µs
69.7 µs
test_uuid_from_string_pyd
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_string_pyd
-1%
94.8 µs
95.3 µs
test_uuid_from_uuid_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_uuid_core
+1%
19 µs
18.9 µs
test_uuid_from_uuid_pyd
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_uuid_pyd
0%
19.6 µs
19.6 µs
test_smart_union_coerce_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_smart_union_coerce_core
0%
23.7 µs
23.8 µs
test_smart_union_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_smart_union_core
0%
21.4 µs
21.4 µs
test_strict_union_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_strict_union_core
0%
21.7 µs
21.7 µs
test_strict_union_error_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_strict_union_error_core
0%
46.9 µs
47.1 µs
test_core_json_fs
tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_json_fs
+2%
804.9 µs
790.8 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_python
-1%
434.7 µs
436.9 µs
test_arguments
tests/benchmarks/test_micro_benchmarks.py::test_arguments
0%
44.5 µs
44.4 µs
test_bool_core
tests/benchmarks/test_micro_benchmarks.py::test_bool_core
0%
50.9 µs
51 µs
test_bytes_core
tests/benchmarks/test_micro_benchmarks.py::test_bytes_core
0%
18.3 µs
18.3 µs
test_chain_function
tests/benchmarks/test_micro_benchmarks.py::test_chain_function
0%
34.6 µs
34.7 µs
test_chain_list
tests/benchmarks/test_micro_benchmarks.py::test_chain_list
0%
45.3 µs
45.3 µs
test_chain_nested_functions
tests/benchmarks/test_micro_benchmarks.py::test_chain_nested_functions
0%
43 µs
43 µs
test_chain_two_functions
tests/benchmarks/test_micro_benchmarks.py::test_chain_two_functions
0%
51.5 µs
51.3 µs
test_core_root_model
tests/benchmarks/test_micro_benchmarks.py::test_core_root_model
0%
93.5 µs
93.1 µs
test_core_string_lax
tests/benchmarks/test_micro_benchmarks.py::test_core_string_lax
0%
18.5 µs
18.5 µs
test_core_string_lax_wrong
tests/benchmarks/test_micro_benchmarks.py::test_core_string_lax_wrong
0%
36.6 µs
36.8 µs
test_core_string_strict
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict
0%
18.6 µs
18.7 µs
test_core_string_strict_wrong
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict_wrong
-1%
36.2 µs
36.5 µs
test_core_string_strict_wrong_str_e
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict_wrong_str_e
0%
78.7 µs
78.7 µs
test_definition_in_tree
tests/benchmarks/test_micro_benchmarks.py::test_definition_in_tree
0%
4.3 ms
4.3 ms
test_definition_model_core
tests/benchmarks/test_micro_benchmarks.py::test_definition_model_core
0%
3.5 ms
3.5 ms
test_definition_out_of_tree
tests/benchmarks/test_micro_benchmarks.py::test_definition_out_of_tree
0%
7 ms
7 ms
test_dict_of_any_core
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_any_core
0%
3.3 ms
3.3 ms
test_dict_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_ints_core
0%
4.8 ms
4.8 ms
test_dict_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_ints_core_json
-3%
14.6 ms
15 ms
test_dont_raise_error
tests/benchmarks/test_micro_benchmarks.py::test_dont_raise_error
0%
29.2 µs
29.2 µs
test_dont_raise_error_no_info
tests/benchmarks/test_micro_benchmarks.py::test_dont_raise_error_no_info
0%
26.8 µs
26.9 µs
test_field_function_validator
tests/benchmarks/test_micro_benchmarks.py::test_field_function_validator
0%
1.7 ms
1.7 ms
test_frozenset_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_frozenset_of_ints_core
0%
1.1 ms
1.1 ms
test_frozenset_of_ints_duplicates_core
tests/benchmarks/test_micro_benchmarks.py::test_frozenset_of_ints_duplicates_core
0%
743.3 µs
744.3 µs
test_generator_python
tests/benchmarks/test_micro_benchmarks.py::test_generator_python
0%
44.4 µs
44.5 µs
test_generator_rust
tests/benchmarks/test_micro_benchmarks.py::test_generator_rust
-11%
31.1 µs
35.1 µs
test_int_error
tests/benchmarks/test_micro_benchmarks.py::test_int_error
-1%
98.8 µs
99.4 µs
test_int_range
tests/benchmarks/test_micro_benchmarks.py::test_int_range
0%
19.8 µs
19.8 µs
test_int_range_json
tests/benchmarks/test_micro_benchmarks.py::test_int_range_json
+10%
23.3 µs
21.2 µs
test_isinstance_json
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_json
-3%
36.6 µs
37.8 µs
test_isinstance_string_lax_false
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_lax_false
-1%
20.5 µs
20.7 µs
test_isinstance_string_lax_true
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_lax_true
-1%
18.5 µs
18.7 µs
test_isinstance_string_strict_false
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_strict_false
-1%
20.1 µs
20.2 µs
test_isinstance_string_strict_true
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_strict_true
-1%
18.7 µs
18.9 µs
test_list_of_any_core_py
tests/benchmarks/test_micro_benchmarks.py::test_list_of_any_core_py
-1%
164 µs
165.2 µs
test_list_of_dict_models_core
tests/benchmarks/test_micro_benchmarks.py::test_list_of_dict_models_core
+1%
363.1 µs
360 µs
test_list_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_list_of_ints_core_json
+4%
5.5 ms
5.3 ms
test_list_of_ints_core_py
tests/benchmarks/test_micro_benchmarks.py::test_list_of_ints_core_py
0%
2.2 ms
2.2 ms
test_list_of_nullable_core
tests/benchmarks/test_micro_benchmarks.py::test_list_of_nullable_core
0%
493.6 µs
492.8 µs
test_many_models_core_dict
tests/benchmarks/test_micro_benchmarks.py::test_many_models_core_dict
0%
3.5 ms
3.5 ms
test_many_models_core_model
tests/benchmarks/test_micro_benchmarks.py::test_many_models_core_model
0%
9.6 ms
9.6 ms
test_model_instance
tests/benchmarks/test_micro_benchmarks.py::test_model_instance
+2%
54 µs
53 µs
test_model_instance_abc
tests/benchmarks/test_micro_benchmarks.py::test_model_instance_abc
0%
55 µs
54.9 µs
test_positional_tuple
tests/benchmarks/test_micro_benchmarks.py::test_positional_tuple
+1%
34.7 µs
34.4 µs
test_raise_error_custom
tests/benchmarks/test_micro_benchmarks.py::test_raise_error_custom
+1%
60.6 µs
60.2 µs
test_raise_error_value_error
tests/benchmarks/test_micro_benchmarks.py::test_raise_error_value_error
0%
64.1 µs
64.4 µs
test_set_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core
0%
3.2 ms
3.2 ms
test_set_of_ints_core_duplicates
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_duplicates
0%
1.7 ms
1.7 ms
test_set_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_json
+3%
6.5 ms
6.3 ms
test_set_of_ints_core_json_duplicates
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_json_duplicates
+4%
4.5 ms
4.3 ms
test_set_of_ints_core_length
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_length
0%
3.3 ms
3.3 ms
test_small_class_core_dict
tests/benchmarks/test_micro_benchmarks.py::test_small_class_core_dict
0%
35.2 µs
35.3 µs
test_small_class_core_model
tests/benchmarks/test_micro_benchmarks.py::test_small_class_core_model
0%
44.4 µs
44.4 µs
test_strict_int
tests/benchmarks/test_micro_benchmarks.py::test_strict_int
0%
18.5 µs
18.6 µs
test_tagged_union_int_keys_json
tests/benchmarks/test_micro_benchmarks.py::test_tagged_union_int_keys_json
-1%
54.4 µs
55 µs
test_tagged_union_int_keys_python
tests/benchmarks/test_micro_benchmarks.py::test_tagged_union_int_keys_python
+2%
62.6 µs
61.6 µs
test_tuple_many_positional
tests/benchmarks/test_micro_benchmarks.py::test_tuple_many_positional
+1%
35.1 µs
34.8 µs
test_tuple_many_variable
tests/benchmarks/test_micro_benchmarks.py::test_tuple_many_variable
-1%
39.3 µs
39.7 µs
test_validate_literal[json-few_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_ints]
+3%
21.3 µs
20.6 µs
test_validate_literal[json-few_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_large_strings]
-5%
23 µs
24.1 µs
test_validate_literal[json-few_mixed]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_mixed]
+12%
34.6 µs
30.8 µs
test_validate_literal[json-few_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_small_strings]
-4%
23.9 µs
24.9 µs
test_validate_literal[json-few_str_enum]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_str_enum]
-2%
36.4 µs
37 µs
test_validate_literal[json-many_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_ints]
+4%
21.3 µs
20.6 µs
test_validate_literal[json-many_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_large_strings]
-4%
23.1 µs
24.2 µs
test_validate_literal[python-few_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_ints]
0%
19.6 µs
19.6 µs
test_validate_literal[python-few_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_large_strings]
0%
19.9 µs
19.9 µs
test_validate_literal[python-few_mixed]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_mixed]
0%
32 µs
32.2 µs
test_validate_literal[python-few_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_small_strings]
0%
19.7 µs
19.8 µs
test_validate_literal[python-few_str_enum]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_str_enum]
0%
29.7 µs
29.7 µs
test_validate_literal[python-many_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_ints]
0%
19.6 µs
19.7 µs
test_validate_literal[python-many_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_large_strings]
0%
19.9 µs
19.9 µs
test_validate_literal[python-many_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_small_strings]
0%
19.7 µs
19.7 µs
test_variable_tuple
tests/benchmarks/test_micro_benchmarks.py::test_variable_tuple
0%
33.3 µs
33.3 µs
test_with_default
tests/benchmarks/test_micro_benchmarks.py::test_with_default
+1%
48.9 µs
48.5 µs
test_nested_schema_inlined
tests/benchmarks/test_nested_benchmark.py::test_nested_schema_inlined
0%
65.6 ms
65.5 ms
test_nested_schema_using_defs
tests/benchmarks/test_nested_benchmark.py::test_nested_schema_using_defs
0%
72.1 ms
72.3 ms
test_core_dict
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict
0%
259.2 µs
258.8 µs
test_core_dict_filter
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict_filter
0%
275.8 µs
275.6 µs
test_core_json
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_json
0%
349.9 µs
349.2 µs
test_core_model_json
tests/benchmarks/test_serialization_micro.py::test_core_model_json
0%
53.8 µs
53.7 µs
test_core_model_json_extra
tests/benchmarks/test_serialization_micro.py::test_core_model_json_extra
0%
62.6 µs
62.6 µs
test_core_model_py
tests/benchmarks/test_serialization_micro.py::test_core_model_py
+2%
55.5 µs
54.4 µs
test_core_model_py_extra
tests/benchmarks/test_serialization_micro.py::test_core_model_py_extra
0%
63.3 µs
63.3 µs
test_date_format
tests/benchmarks/test_serialization_micro.py::test_date_format
-1%
101 µs
101.9 µs
test_date_format_function
tests/benchmarks/test_serialization_micro.py::test_date_format_function
-1%
101.5 µs
102.4 µs
test_date_format_function_no_info
tests/benchmarks/test_serialization_micro.py::test_date_format_function_no_info
+1%
101.5 µs
100.5 µs
test_datetime
tests/benchmarks/test_serialization_micro.py::test_datetime
0%
59 µs
58.8 µs
test_filter
tests/benchmarks/test_serialization_micro.py::test_filter
0%
107.9 µs
108.4 µs
test_json_any_list_int
tests/benchmarks/test_serialization_micro.py::test_json_any_list_int
0%
1.3 ms
1.3 ms
test_json_any_list_str
tests/benchmarks/test_serialization_micro.py::test_json_any_list_str
0%
1.3 ms
1.3 ms
test_json_direct_list_int
tests/benchmarks/test_serialization_micro.py::test_json_direct_list_int
0%
717.6 µs
717.4 µs
test_json_direct_list_str
tests/benchmarks/test_serialization_micro.py::test_json_direct_list_str
0%
729.8 µs
731.2 µs
test_model_exclude_unset_false
tests/benchmarks/test_serialization_micro.py::test_model_exclude_unset_false
+3%
60.2 µs
58.6 µs
test_model_exclude_unset_true
tests/benchmarks/test_serialization_micro.py::test_model_exclude_unset_true
-1%
71.3 µs
72.3 µs
test_model_list_core_json
tests/benchmarks/test_serialization_micro.py::test_model_list_core_json
0%
775.6 µs
775.4 µs
test_python_json_list_int
tests/benchmarks/test_serialization_micro.py::test_python_json_list_int
0%
602.6 µs
603.4 µs
test_python_json_list_none
tests/benchmarks/test_serialization_micro.py::test_python_json_list_none
0%
581.6 µs
582.7 µs
test_python_json_list_str
tests/benchmarks/test_serialization_micro.py::test_python_json_list_str
0%
608.1 µs
607.9 µs
test_to_string_direct
tests/benchmarks/test_serialization_micro.py::test_to_string_direct
-1%
32.6 µs
32.9 µs
test_to_string_format
tests/benchmarks/test_serialization_micro.py::test_to_string_format
+2%
41.6 µs
40.8 µs
test_uuid
tests/benchmarks/test_serialization_micro.py::test_uuid
0%
74.2 µs
74.2 µs

Commits

Click on a commit to change the comparison range
base
main
ef3e813
+35%
full compatibility :tada:
9efef2c
6 months ago by samuelcolvin
-59%
remove print
cc5b197
6 months ago by samuelcolvin
+45%
update lock
b653558
6 months ago by samuelcolvin
-33%
add tests, tweak comments
a9a8886
6 months ago by samuelcolvin
ResourcesHomePricingDocsBlogGitHub
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.