BlogDocs

wip precompiled schema(#993)

Merging
dh/reuse-validator
(
827a905
) into
main
(
1a966d5
)
+14%
IMPROVEMENTS
4
REGRESSIONS
0
UNTOUCHED
134
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Improved

test_complete_core_lax
tests/benchmarks/test_complete_benchmark.py::test_complete_core_lax
+14%
442 µs
386.9 µs
test_generator_rust
tests/benchmarks/test_micro_benchmarks.py::test_generator_rust
+14%
23.5 µs
20.6 µs
test_field_function_validator
tests/benchmarks/test_micro_benchmarks.py::test_field_function_validator
+13%
451.5 µs
400.2 µs
test_dont_raise_error_no_info
tests/benchmarks/test_micro_benchmarks.py::test_dont_raise_error_no_info
+13%
19.8 µs
17.5 µs

Passed

test_core_model_py_extra
tests/benchmarks/test_serialization_micro.py::test_core_model_py_extra
+7%
35.8 µs
33.5 µs
test_core_model_py
tests/benchmarks/test_serialization_micro.py::test_core_model_py
+7%
31.8 µs
29.8 µs
test_complete_core_strict
tests/benchmarks/test_complete_benchmark.py::test_complete_core_strict
+6%
300.5 µs
282.8 µs
test_date_from_datetime
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime
+6%
28.3 µs
26.8 µs
test_generator_python
tests/benchmarks/test_micro_benchmarks.py::test_generator_python
+6%
28.6 µs
27.1 µs
test_core_future_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_core_future_str
+5%
21.3 µs
20.3 µs
test_positional_tuple
tests/benchmarks/test_micro_benchmarks.py::test_positional_tuple
+5%
23.2 µs
22.1 µs
test_chain_two_functions
tests/benchmarks/test_micro_benchmarks.py::test_chain_two_functions
+4%
32.9 µs
31.7 µs
test_smart_union_coerce_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_smart_union_coerce_core
+4%
17.4 µs
16.8 µs
test_uuid_from_string_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_string_core
+4%
44.3 µs
42.8 µs
test_core_future
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_core_future
+3%
23.2 µs
22.4 µs
test_core_future_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future_str
+3%
23.4 µs
22.6 µs
test_chain_list
tests/benchmarks/test_micro_benchmarks.py::test_chain_list
+3%
29.9 µs
29 µs
test_model_core_json
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_model_core_json
+3%
55.3 µs
53.7 µs
test_tuple_many_positional
tests/benchmarks/test_micro_benchmarks.py::test_tuple_many_positional
+3%
22.5 µs
21.8 µs
test_smart_union_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_smart_union_core
+3%
16 µs
15.6 µs
test_small_class_core_model
tests/benchmarks/test_micro_benchmarks.py::test_small_class_core_model
+3%
30.7 µs
29.9 µs
test_uuid_from_string_pyd
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_string_pyd
+3%
51.9 µs
50.5 µs
test_strict_union_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_strict_union_core
+3%
16.2 µs
15.7 µs
test_date_from_date
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_date
+3%
14.2 µs
13.8 µs
test_tuple_many_variable
tests/benchmarks/test_micro_benchmarks.py::test_tuple_many_variable
+3%
23.3 µs
22.7 µs
test_model_core_json
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_model_core_json
+3%
38.9 µs
38 µs
test_build_schema
tests/benchmarks/test_complete_benchmark.py::test_build_schema
+3%
802.5 µs
782.7 µs
test_validate_literal[python-many_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_large_strings]
+3%
14.9 µs
14.5 µs
test_validate_literal[python-few_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_large_strings]
+2%
14.8 µs
14.5 µs
test_validate_literal[python-many_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_ints]
+2%
14.8 µs
14.5 µs
test_core_python_fs
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_python_fs
+2%
90.8 µs
88.7 µs
test_core_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_str
+2%
23.2 µs
22.7 µs
test_bool_core
tests/benchmarks/test_micro_benchmarks.py::test_bool_core
+2%
23.8 µs
23.3 µs
test_int_error
tests/benchmarks/test_micro_benchmarks.py::test_int_error
+2%
53.4 µs
52.3 µs
test_isinstance_string_strict_false
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_strict_false
+2%
15 µs
14.7 µs
test_core_string_strict
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict
+2%
13.7 µs
13.5 µs
test_isinstance_string_lax_true
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_lax_true
+2%
13.9 µs
13.6 µs
test_validate_literal[json-few_mixed]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_mixed]
+2%
22.8 µs
22.4 µs
test_list_of_dict_models_core
tests/benchmarks/test_micro_benchmarks.py::test_list_of_dict_models_core
+2%
114.1 µs
112 µs
test_isinstance_string_lax_false
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_lax_false
+2%
15.2 µs
14.9 µs
test_variable_tuple
tests/benchmarks/test_micro_benchmarks.py::test_variable_tuple
+2%
23.3 µs
22.9 µs
test_isinstance_string_strict_true
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_strict_true
+2%
13.9 µs
13.6 µs
test_int_range_json
tests/benchmarks/test_micro_benchmarks.py::test_int_range_json
+2%
16.1 µs
15.8 µs
test_validate_literal[python-few_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_ints]
+2%
14.7 µs
14.5 µs
test_validate_literal[python-few_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_small_strings]
+2%
14.7 µs
14.4 µs
test_validate_literal[python-many_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_small_strings]
+2%
14.7 µs
14.4 µs
test_validate_literal[json-many_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_large_strings]
+2%
16.5 µs
16.3 µs
test_validate_literal[json-many_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_ints]
+2%
16 µs
15.7 µs
test_core_string_lax
tests/benchmarks/test_micro_benchmarks.py::test_core_string_lax
+2%
13.7 µs
13.5 µs
test_date_from_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_str
+2%
21.1 µs
20.7 µs
test_model_instance
tests/benchmarks/test_micro_benchmarks.py::test_model_instance
+2%
33.3 µs
32.7 µs
test_core_json
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_json
+2%
96.1 µs
94.6 µs
test_definition_model_core
tests/benchmarks/test_micro_benchmarks.py::test_definition_model_core
+2%
983 µs
967.9 µs
test_isinstance_json
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_json
+2%
24.5 µs
24.1 µs
test_int_range
tests/benchmarks/test_micro_benchmarks.py::test_int_range
+1%
14.7 µs
14.5 µs
test_chain_nested_functions
tests/benchmarks/test_micro_benchmarks.py::test_chain_nested_functions
+1%
27.6 µs
27.2 µs
test_chain_function
tests/benchmarks/test_micro_benchmarks.py::test_chain_function
+1%
23.8 µs
23.5 µs
test_bytes_core
tests/benchmarks/test_micro_benchmarks.py::test_bytes_core
+1%
13.7 µs
13.5 µs
test_strict_int
tests/benchmarks/test_micro_benchmarks.py::test_strict_int
+1%
13.8 µs
13.7 µs
test_uuid_from_uuid_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_uuid_core
+1%
13.9 µs
13.7 µs
test_uuid_from_uuid_pyd
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_uuid_pyd
+1%
14.7 µs
14.5 µs
test_to_string_format
tests/benchmarks/test_serialization_micro.py::test_to_string_format
+1%
27.4 µs
27.1 µs
test_core_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_str
+1%
41.8 µs
41.3 µs
test_core_string_strict_wrong_str_e
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict_wrong_str_e
+1%
46.4 µs
45.9 µs
test_model_exclude_unset_false
tests/benchmarks/test_serialization_micro.py::test_model_exclude_unset_false
+1%
32.6 µs
32.3 µs
test_core_raw
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_raw
+1%
13.9 µs
13.8 µs
test_tagged_union_int_keys_json
tests/benchmarks/test_micro_benchmarks.py::test_tagged_union_int_keys_json
+1%
34 µs
33.7 µs
test_core_dict
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict
+1%
79.9 µs
79.1 µs
test_validate_literal[json-few_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_ints]
+1%
15.9 µs
15.7 µs
test_core_json_fs
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_json_fs
+1%
216.4 µs
214.3 µs
test_small_class_core_dict
tests/benchmarks/test_micro_benchmarks.py::test_small_class_core_dict
+1%
23.5 µs
23.3 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_python
+1%
32.3 µs
32 µs
test_core_raw
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_raw
+1%
14 µs
13.9 µs
test_decimal_from_string_limit
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_limit
+1%
16.8 µs
16.7 µs
test_core_dict_filter
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict_filter
+1%
86.1 µs
85.4 µs
test_validate_literal[json-few_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_large_strings]
+1%
16.5 µs
16.3 µs
test_validate_literal[python-few_mixed]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_mixed]
+1%
21 µs
20.8 µs
test_core_json_fs
tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_json_fs
+1%
218 µs
216.2 µs
test_core_string_lax_wrong
tests/benchmarks/test_micro_benchmarks.py::test_core_string_lax_wrong
+1%
24.8 µs
24.6 µs
test_with_default
tests/benchmarks/test_micro_benchmarks.py::test_with_default
+1%
27.7 µs
27.5 µs
test_date_format
tests/benchmarks/test_serialization_micro.py::test_date_format
+1%
52.3 µs
51.9 µs
test_date_from_datetime_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime_str
+1%
23 µs
22.9 µs
test_filter
tests/benchmarks/test_serialization_micro.py::test_filter
+1%
47.2 µs
46.9 µs
test_validate_literal[json-few_str_enum]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_str_enum]
+1%
24.6 µs
24.5 µs
test_core_string_strict_wrong
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict_wrong
+1%
24.5 µs
24.4 µs
test_many_models_core_dict
tests/benchmarks/test_micro_benchmarks.py::test_many_models_core_dict
+1%
872.2 µs
867.3 µs
test_list_of_any_core_py
tests/benchmarks/test_micro_benchmarks.py::test_list_of_any_core_py
+1%
101.1 µs
100.6 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_python
0%
140.7 µs
140 µs
test_frozenset_of_ints_duplicates_core
tests/benchmarks/test_micro_benchmarks.py::test_frozenset_of_ints_duplicates_core
0%
156.1 µs
155.4 µs
test_model_list_core_json
tests/benchmarks/test_serialization_micro.py::test_model_list_core_json
0%
183.5 µs
182.7 µs
test_list_of_nullable_core
tests/benchmarks/test_micro_benchmarks.py::test_list_of_nullable_core
0%
131.1 µs
130.6 µs
test_date_format_function_no_info
tests/benchmarks/test_serialization_micro.py::test_date_format_function_no_info
0%
51.6 µs
51.4 µs
test_python_json_list_str
tests/benchmarks/test_serialization_micro.py::test_python_json_list_str
0%
159.3 µs
159 µs
test_many_models_core_model
tests/benchmarks/test_micro_benchmarks.py::test_many_models_core_model
0%
2 ms
2 ms
test_tagged_union_int_keys_python
tests/benchmarks/test_micro_benchmarks.py::test_tagged_union_int_keys_python
0%
34 µs
33.9 µs
test_set_of_ints_core_duplicates
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_duplicates
0%
332.1 µs
331.6 µs
test_frozenset_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_frozenset_of_ints_core
0%
251.2 µs
250.8 µs
test_json_direct_list_int
tests/benchmarks/test_serialization_micro.py::test_json_direct_list_int
0%
172.4 µs
172.2 µs
test_python_json_list_int
tests/benchmarks/test_serialization_micro.py::test_python_json_list_int
0%
154.8 µs
154.7 µs
test_definition_in_tree
tests/benchmarks/test_micro_benchmarks.py::test_definition_in_tree
0%
820.5 µs
820 µs
test_definition_out_of_tree
tests/benchmarks/test_micro_benchmarks.py::test_definition_out_of_tree
0%
1.3 ms
1.3 ms
test_python_json_list_none
tests/benchmarks/test_serialization_micro.py::test_python_json_list_none
0%
128.5 µs
128.4 µs
test_model_exclude_unset_true
tests/benchmarks/test_serialization_micro.py::test_model_exclude_unset_true
0%
39.5 µs
39.5 µs
test_dict_of_any_core
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_any_core
0%
721.3 µs
721.1 µs
test_validate_literal[python-few_str_enum]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_str_enum]
0%
20.2 µs
20.2 µs
test_json_direct_list_str
tests/benchmarks/test_serialization_micro.py::test_json_direct_list_str
0%
195 µs
195.2 µs
test_to_string_direct
tests/benchmarks/test_serialization_micro.py::test_to_string_direct
0%
22.5 µs
22.5 µs
test_json_any_list_int
tests/benchmarks/test_serialization_micro.py::test_json_any_list_int
0%
270.8 µs
271.1 µs
test_arguments
tests/benchmarks/test_micro_benchmarks.py::test_arguments
0%
28 µs
28 µs
test_core_model_json
tests/benchmarks/test_serialization_micro.py::test_core_model_json
0%
28.7 µs
28.7 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_python
0%
30.8 µs
30.8 µs
test_core_future
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future
0%
34.8 µs
34.8 µs
test_uuid
tests/benchmarks/test_serialization_micro.py::test_uuid
0%
40.4 µs
40.5 µs
test_dont_raise_error
tests/benchmarks/test_micro_benchmarks.py::test_dont_raise_error
-1%
24.2 µs
24.3 µs
test_date_format_function
tests/benchmarks/test_serialization_micro.py::test_date_format_function
-1%
52.5 µs
52.8 µs
test_core_model_json_extra
tests/benchmarks/test_serialization_micro.py::test_core_model_json_extra
-1%
33.4 µs
33.6 µs
test_core_root_model
tests/benchmarks/test_micro_benchmarks.py::test_core_root_model
-1%
41.8 µs
42.1 µs
test_raise_error_value_error
tests/benchmarks/test_micro_benchmarks.py::test_raise_error_value_error
-1%
38.3 µs
38.6 µs
test_dict_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_ints_core_json
-1%
2.7 ms
2.8 ms
test_complete_core_json
tests/benchmarks/test_complete_benchmark.py::test_complete_core_json
-1%
772.9 µs
780 µs
test_datetime
tests/benchmarks/test_serialization_micro.py::test_datetime
-1%
33.6 µs
33.9 µs
test_complete_core_isinstance
tests/benchmarks/test_complete_benchmark.py::test_complete_core_isinstance
-1%
1.9 ms
1.9 ms
test_model_instance_abc
tests/benchmarks/test_micro_benchmarks.py::test_model_instance_abc
-1%
33.4 µs
33.8 µs
test_set_of_ints_core_json_duplicates
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_json_duplicates
-1%
891.4 µs
901.9 µs
test_dict_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_ints_core
-1%
987.9 µs
1,000.5 µs
test_set_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_json
-1%
1.3 ms
1.3 ms
test_json_any_list_str
tests/benchmarks/test_serialization_micro.py::test_json_any_list_str
-2%
279.5 µs
285.3 µs
test_set_of_ints_core_length
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_length
-2%
700.3 µs
715.6 µs
test_set_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core
-2%
689.7 µs
705.6 µs
test_list_of_ints_core_py
tests/benchmarks/test_micro_benchmarks.py::test_list_of_ints_core_py
-4%
489 µs
508.5 µs
test_raise_error_custom
tests/benchmarks/test_micro_benchmarks.py::test_raise_error_custom
-4%
34.4 µs
35.8 µs
test_complete_core_error
tests/benchmarks/test_complete_benchmark.py::test_complete_core_error
-4%
2.1 ms
2.2 ms
test_list_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_list_of_ints_core_json
-5%
1.1 ms
1.1 ms
test_strict_union_error_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_strict_union_error_core
-5%
29.6 µs
31.2 µs
test_decimal_from_string_pyd
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_pyd
-6%
39.1 µs
41.5 µs
test_validate_literal[json-few_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_small_strings]
-7%
16.2 µs
17.5 µs
test_validate_literal[json-many_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_small_strings]
-8%
16.2 µs
17.7 µs
test_decimal_from_string_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_core
-9%
38.2 µs
41.9 µs

Commits

Click on a commit to change the comparison range
base
main
1a966d5
+14%
wip precompiled schema
827a905
1 year ago
by davidhewitt
ResourcesHomePricingDocsBlogGitHubChangelog
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.