Avatar for the pydantic user
pydantic
pydantic-core
BlogDocsChangelog

Check iterable `max_length` as we validate

#602Closed
Comparing
any-iterable
(
33af7fa
) with
main
(
2a7a2f6
)
CodSpeed Performance Gauge
-94%
Improvements
2
Regressions
3
Untouched
113
New
0
Dropped
0
Ignored
0

Benchmarks

Failed

test_frozenset_of_ints_coreRegression
tests/benchmarks/test_micro_benchmarks.py::test_frozenset_of_ints_core
CodSpeed Performance Gauge
-26%
406.9 µs
547.7 µs
test_frozenset_of_ints_duplicates_coreRegression
tests/benchmarks/test_micro_benchmarks.py::test_frozenset_of_ints_duplicates_core
CodSpeed Performance Gauge
-22%
217 µs
276.7 µs
test_list_of_any_core_pyRegression
tests/benchmarks/test_micro_benchmarks.py::test_list_of_any_core_py
CodSpeed Performance Gauge
-94%
16.6 µs
294.9 µs

Improved

test_complete_core_isinstance
tests/benchmarks/test_complete_benchmark.py::test_complete_core_isinstance
CodSpeed Performance Gauge
+26%
1.8 ms
1.5 ms
test_complete_core_error
tests/benchmarks/test_complete_benchmark.py::test_complete_core_error
CodSpeed Performance Gauge
+25%
1.9 ms
1.5 ms

Passed

test_date_from_datetime
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime
CodSpeed Performance Gauge
+6%
21.4 µs
20.2 µs
test_core_future
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future
CodSpeed Performance Gauge
+5%
26.2 µs
24.9 µs
test_datetime
tests/benchmarks/test_serialization_micro.py::test_datetime
CodSpeed Performance Gauge
+4%
28.3 µs
27.3 µs
test_core_json
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_json
CodSpeed Performance Gauge
+3%
105.6 µs
102.1 µs
test_validate_literal[json-few_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_ints]
CodSpeed Performance Gauge
+3%
13.5 µs
13.1 µs
test_validate_literal[json-few_mixed]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_mixed]
CodSpeed Performance Gauge
+3%
15 µs
14.6 µs
test_validate_literal[json-many_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_ints]
CodSpeed Performance Gauge
+3%
13.5 µs
13.2 µs
test_with_default
tests/benchmarks/test_micro_benchmarks.py::test_with_default
CodSpeed Performance Gauge
+2%
22.1 µs
21.6 µs
test_isinstance_string_lax_true
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_lax_true
CodSpeed Performance Gauge
+2%
11.9 µs
11.6 µs
test_isinstance_string_strict_true
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_strict_true
CodSpeed Performance Gauge
+2%
11.9 µs
11.7 µs
test_date_from_datetime_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime_str
CodSpeed Performance Gauge
+2%
16.8 µs
16.5 µs
test_arguments
tests/benchmarks/test_micro_benchmarks.py::test_arguments
CodSpeed Performance Gauge
+2%
25.1 µs
24.7 µs
test_core_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_str
CodSpeed Performance Gauge
+2%
18 µs
17.7 µs
test_small_class_core_dict
tests/benchmarks/test_micro_benchmarks.py::test_small_class_core_dict
CodSpeed Performance Gauge
+2%
18.4 µs
18.1 µs
test_date_from_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_str
CodSpeed Performance Gauge
+2%
15.1 µs
14.9 µs
test_smart_union_coerce_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_smart_union_coerce_core
CodSpeed Performance Gauge
+2%
15.7 µs
15.4 µs
test_core_future_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future_str
CodSpeed Performance Gauge
+2%
18.3 µs
18 µs
test_validate_literal[json-many_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_small_strings]
CodSpeed Performance Gauge
+2%
16.7 µs
16.4 µs
test_isinstance_json
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_json
CodSpeed Performance Gauge
+2%
19.2 µs
18.9 µs
test_core_future_str
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_core_future_str
CodSpeed Performance Gauge
+2%
15.4 µs
15.1 µs
test_smart_union_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_smart_union_core
CodSpeed Performance Gauge
+1%
14.7 µs
14.5 µs
test_isinstance_string_strict_false
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_strict_false
CodSpeed Performance Gauge
+1%
12.6 µs
12.4 µs
test_chain_nested_functions
tests/benchmarks/test_micro_benchmarks.py::test_chain_nested_functions
CodSpeed Performance Gauge
+1%
28.8 µs
28.4 µs
test_isinstance_string_lax_false
tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_lax_false
CodSpeed Performance Gauge
+1%
12.8 µs
12.6 µs
test_core_string_lax_wrong
tests/benchmarks/test_micro_benchmarks.py::test_core_string_lax_wrong
CodSpeed Performance Gauge
+1%
24.4 µs
24.1 µs
test_to_string_direct
tests/benchmarks/test_serialization_micro.py::test_to_string_direct
CodSpeed Performance Gauge
+1%
18.4 µs
18.1 µs
test_chain_two_functions
tests/benchmarks/test_micro_benchmarks.py::test_chain_two_functions
CodSpeed Performance Gauge
+1%
29 µs
28.6 µs
test_validate_literal[json-few_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_small_strings]
CodSpeed Performance Gauge
+1%
16.7 µs
16.4 µs
test_bool_core
tests/benchmarks/test_micro_benchmarks.py::test_bool_core
CodSpeed Performance Gauge
+1%
24.2 µs
23.9 µs
test_validate_literal[json-many_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_large_strings]
CodSpeed Performance Gauge
+1%
17 µs
16.8 µs
test_to_string_format
tests/benchmarks/test_serialization_micro.py::test_to_string_format
CodSpeed Performance Gauge
+1%
23.2 µs
22.9 µs
test_validate_literal[json-few_str_enum]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_str_enum]
CodSpeed Performance Gauge
+1%
18.5 µs
18.3 µs
test_chain_list
tests/benchmarks/test_micro_benchmarks.py::test_chain_list
CodSpeed Performance Gauge
+1%
25.6 µs
25.3 µs
test_date_from_date
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_date
CodSpeed Performance Gauge
+1%
11.7 µs
11.6 µs
test_strict_union_error_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_strict_union_error_core
CodSpeed Performance Gauge
+1%
27.9 µs
27.6 µs
test_chain_function
tests/benchmarks/test_micro_benchmarks.py::test_chain_function
CodSpeed Performance Gauge
+1%
25 µs
24.7 µs
test_validate_literal[python-few_str_enum]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_str_enum]
CodSpeed Performance Gauge
+1%
13.2 µs
13.1 µs
test_core_future
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_core_future
CodSpeed Performance Gauge
+1%
16.8 µs
16.7 µs
test_validate_literal[json-few_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_large_strings]
CodSpeed Performance Gauge
+1%
17 µs
16.8 µs
test_dont_raise_error
tests/benchmarks/test_micro_benchmarks.py::test_dont_raise_error
CodSpeed Performance Gauge
+1%
18.1 µs
18 µs
test_core_string_lax
tests/benchmarks/test_micro_benchmarks.py::test_core_string_lax
CodSpeed Performance Gauge
+1%
11.5 µs
11.5 µs
test_core_raw
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_raw
CodSpeed Performance Gauge
+1%
11.6 µs
11.5 µs
test_strict_union_core
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_strict_union_core
CodSpeed Performance Gauge
+1%
16.1 µs
16 µs
test_int_error
tests/benchmarks/test_micro_benchmarks.py::test_int_error
CodSpeed Performance Gauge
+1%
44.7 µs
44.3 µs
test_model_core_json
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_model_core_json
CodSpeed Performance Gauge
+1%
33.8 µs
33.5 µs
test_generator_python
tests/benchmarks/test_micro_benchmarks.py::test_generator_python
CodSpeed Performance Gauge
+1%
28 µs
27.8 µs
test_core_string_strict_wrong
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict_wrong
CodSpeed Performance Gauge
+1%
24.1 µs
23.9 µs
test_core_dict
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict
CodSpeed Performance Gauge
+1%
81.3 µs
80.9 µs
test_generator_rust
tests/benchmarks/test_micro_benchmarks.py::test_generator_rust
CodSpeed Performance Gauge
0%
18.5 µs
18.4 µs
test_validate_literal[python-few_mixed]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_mixed]
CodSpeed Performance Gauge
0%
13.2 µs
13.2 µs
test_dont_raise_error_no_info
tests/benchmarks/test_micro_benchmarks.py::test_dont_raise_error_no_info
CodSpeed Performance Gauge
0%
16.3 µs
16.2 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_python
CodSpeed Performance Gauge
0%
26.1 µs
26 µs
test_model_instance
tests/benchmarks/test_micro_benchmarks.py::test_model_instance
CodSpeed Performance Gauge
0%
35.3 µs
35.2 µs
test_raise_error_custom
tests/benchmarks/test_micro_benchmarks.py::test_raise_error_custom
CodSpeed Performance Gauge
0%
34.8 µs
34.7 µs
test_validate_literal[python-many_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_ints]
CodSpeed Performance Gauge
0%
11.8 µs
11.8 µs
test_core_string_strict_wrong_str_e
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict_wrong_str_e
CodSpeed Performance Gauge
0%
39.7 µs
39.6 µs
test_definition_model_core
tests/benchmarks/test_micro_benchmarks.py::test_definition_model_core
CodSpeed Performance Gauge
0%
504 µs
503 µs
test_python_json_list_str
tests/benchmarks/test_serialization_micro.py::test_python_json_list_str
CodSpeed Performance Gauge
0%
165.8 µs
165.5 µs
test_model_exclude_unset_true
tests/benchmarks/test_serialization_micro.py::test_model_exclude_unset_true
CodSpeed Performance Gauge
0%
37.4 µs
37.3 µs
test_core_model_json
tests/benchmarks/test_serialization_micro.py::test_core_model_json
CodSpeed Performance Gauge
0%
25.6 µs
25.6 µs
test_bytes_core
tests/benchmarks/test_micro_benchmarks.py::test_bytes_core
CodSpeed Performance Gauge
0%
11.4 µs
11.4 µs
test_core_string_strict
tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict
CodSpeed Performance Gauge
0%
11.5 µs
11.5 µs
test_validate_literal[python-few_ints]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_ints]
CodSpeed Performance Gauge
0%
11.8 µs
11.8 µs
test_build_schema
tests/benchmarks/test_complete_benchmark.py::test_build_schema
CodSpeed Performance Gauge
0%
1 ms
1 ms
test_raise_error_value_error
tests/benchmarks/test_micro_benchmarks.py::test_raise_error_value_error
CodSpeed Performance Gauge
0%
34.2 µs
34.2 µs
test_core_dict_filter
tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict_filter
CodSpeed Performance Gauge
0%
86.5 µs
86.6 µs
test_python_json_list_int
tests/benchmarks/test_serialization_micro.py::test_python_json_list_int
CodSpeed Performance Gauge
0%
161 µs
161.2 µs
test_model_instance_abc
tests/benchmarks/test_micro_benchmarks.py::test_model_instance_abc
CodSpeed Performance Gauge
0%
37.3 µs
37.4 µs
test_variable_tuple
tests/benchmarks/test_micro_benchmarks.py::test_variable_tuple
CodSpeed Performance Gauge
0%
24.4 µs
24.5 µs
test_small_class_core_model
tests/benchmarks/test_micro_benchmarks.py::test_small_class_core_model
CodSpeed Performance Gauge
0%
29.1 µs
29.1 µs
test_python_json_list_none
tests/benchmarks/test_serialization_micro.py::test_python_json_list_none
CodSpeed Performance Gauge
0%
134.7 µs
135.1 µs
test_json_any_list_int
tests/benchmarks/test_serialization_micro.py::test_json_any_list_int
CodSpeed Performance Gauge
0%
329 µs
330.5 µs
test_validate_literal[python-many_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_small_strings]
CodSpeed Performance Gauge
0%
12 µs
12.1 µs
test_core_model_py
tests/benchmarks/test_serialization_micro.py::test_core_model_py
CodSpeed Performance Gauge
-1%
26.9 µs
27.1 µs
test_date_format_function
tests/benchmarks/test_serialization_micro.py::test_date_format_function
CodSpeed Performance Gauge
-1%
50.1 µs
50.4 µs
test_validate_literal[python-few_small_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_small_strings]
CodSpeed Performance Gauge
-1%
12 µs
12.1 µs
test_core_model_json_extra
tests/benchmarks/test_serialization_micro.py::test_core_model_json_extra
CodSpeed Performance Gauge
-1%
30.9 µs
31.1 µs
test_model_exclude_unset_false
tests/benchmarks/test_serialization_micro.py::test_model_exclude_unset_false
CodSpeed Performance Gauge
-1%
29.8 µs
30 µs
test_date_format_function_no_info
tests/benchmarks/test_serialization_micro.py::test_date_format_function_no_info
CodSpeed Performance Gauge
-1%
48.6 µs
49 µs
test_json_direct_list_int
tests/benchmarks/test_serialization_micro.py::test_json_direct_list_int
CodSpeed Performance Gauge
-1%
199.2 µs
201 µs
test_core_model_py_extra
tests/benchmarks/test_serialization_micro.py::test_core_model_py_extra
CodSpeed Performance Gauge
-1%
31.5 µs
31.8 µs
test_list_of_dict_models_core
tests/benchmarks/test_micro_benchmarks.py::test_list_of_dict_models_core
CodSpeed Performance Gauge
-1%
130.7 µs
131.9 µs
test_validate_literal[python-few_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_large_strings]
CodSpeed Performance Gauge
-1%
12 µs
12.2 µs
test_core_python
tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_python
CodSpeed Performance Gauge
-1%
153.5 µs
155.1 µs
test_model_list_core_json
tests/benchmarks/test_serialization_micro.py::test_model_list_core_json
CodSpeed Performance Gauge
-1%
214.8 µs
216.9 µs
test_date_format
tests/benchmarks/test_serialization_micro.py::test_date_format
CodSpeed Performance Gauge
-1%
48.4 µs
49 µs
test_validate_literal[python-many_large_strings]
tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_large_strings]
CodSpeed Performance Gauge
-1%
12 µs
12.2 µs
test_definition_out_of_tree
tests/benchmarks/test_micro_benchmarks.py::test_definition_out_of_tree
CodSpeed Performance Gauge
-2%
5.9 ms
6 ms
test_core_json_fs
tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_json_fs
CodSpeed Performance Gauge
-2%
192.7 µs
196.2 µs
test_json_any_list_str
tests/benchmarks/test_serialization_micro.py::test_json_any_list_str
CodSpeed Performance Gauge
-2%
345 µs
351.8 µs
test_many_models_core_model
tests/benchmarks/test_micro_benchmarks.py::test_many_models_core_model
CodSpeed Performance Gauge
-2%
2.8 ms
2.9 ms
test_positional_tuple
tests/benchmarks/test_micro_benchmarks.py::test_positional_tuple
CodSpeed Performance Gauge
-2%
24.1 µs
24.6 µs
test_json_direct_list_str
tests/benchmarks/test_serialization_micro.py::test_json_direct_list_str
CodSpeed Performance Gauge
-3%
215 µs
220.7 µs
test_definition_in_tree
tests/benchmarks/test_micro_benchmarks.py::test_definition_in_tree
CodSpeed Performance Gauge
-3%
5.2 ms
5.3 ms
test_core_root_model
tests/benchmarks/test_micro_benchmarks.py::test_core_root_model
CodSpeed Performance Gauge
-3%
41.3 µs
42.7 µs
test_list_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_list_of_ints_core_json
CodSpeed Performance Gauge
-3%
1.1 ms
1.2 ms
test_list_of_ints_core_py
tests/benchmarks/test_micro_benchmarks.py::test_list_of_ints_core_py
CodSpeed Performance Gauge
-3%
1.6 ms
1.7 ms
test_core_json_fs
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_json_fs
CodSpeed Performance Gauge
-4%
230.9 µs
240.1 µs
test_tuple_many_variable
tests/benchmarks/test_micro_benchmarks.py::test_tuple_many_variable
CodSpeed Performance Gauge
-4%
18.6 µs
19.4 µs
test_complete_core_json
tests/benchmarks/test_complete_benchmark.py::test_complete_core_json
CodSpeed Performance Gauge
-4%
717.5 µs
749.3 µs
test_many_models_core_dict
tests/benchmarks/test_micro_benchmarks.py::test_many_models_core_dict
CodSpeed Performance Gauge
-4%
1.2 ms
1.2 ms
test_tuple_many_positional
tests/benchmarks/test_micro_benchmarks.py::test_tuple_many_positional
CodSpeed Performance Gauge
-5%
19 µs
19.9 µs
test_dict_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_ints_core
CodSpeed Performance Gauge
-5%
2.4 ms
2.5 ms
test_dict_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_ints_core_json
CodSpeed Performance Gauge
-5%
2.7 ms
2.9 ms
test_core_python_fs
tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_python_fs
CodSpeed Performance Gauge
-5%
111.1 µs
117.3 µs
test_complete_core_lax
tests/benchmarks/test_complete_benchmark.py::test_complete_core_lax
CodSpeed Performance Gauge
-6%
360.9 µs
383.9 µs
test_list_of_nullable_core
tests/benchmarks/test_micro_benchmarks.py::test_list_of_nullable_core
CodSpeed Performance Gauge
-6%
215.5 µs
229.2 µs
test_dict_of_any_core
tests/benchmarks/test_micro_benchmarks.py::test_dict_of_any_core
CodSpeed Performance Gauge
-7%
897.1 µs
967 µs
test_complete_core_strict
tests/benchmarks/test_complete_benchmark.py::test_complete_core_strict
CodSpeed Performance Gauge
-8%
405.7 µs
439.1 µs
test_set_of_ints_core_duplicates
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_duplicates
CodSpeed Performance Gauge
-8%
1.5 ms
1.6 ms
test_set_of_ints_core
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core
CodSpeed Performance Gauge
-8%
1.9 ms
2.1 ms
test_set_of_ints_core_json_duplicates
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_json_duplicates
CodSpeed Performance Gauge
-8%
1 ms
1.1 ms
test_set_of_ints_core_json
tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_json
CodSpeed Performance Gauge
-12%
1.3 ms
1.5 ms

Commits

Click on a commit to change the comparison range
Base
main
2a7a2f6
-92%
get tests passing
2dcc604
2 years ago
by adriangb
0%
fix remaining errors and support PyPy
ca4d312
2 years ago
by adriangb
0%
fix pypy
3d23888
2 years ago
by adriangb
0%
fix 3.7 Sequence[generic]
49024ae
2 years ago
by adriangb
0%
Remove feature
f4763b9
2 years ago
by adriangb
-2%
Add missing file
adf99b8
2 years ago
by adriangb
-1%
Remove dead code
a0cb1f5
2 years ago
by adriangb
0%
Minimize changes
d29fa5e
2 years ago
by adriangb
+3%
remove unecessary check
79a4bfb
2 years ago
by adriangb
0%
fix type hint
fdfc561
2 years ago
by adriangb
-3%
Get everything working
3c35ab0
2 years ago
by adriangb
0%
try to speed up any case
7b1e1d0
2 years ago
by adriangb
0%
minimize calls to len()
ae1f844
2 years ago
by adriangb
0%
reduce code duplication
6cc77e6
2 years ago
by adriangb
0%
reduce code duplication
174c3d4
2 years ago
by adriangb
0%
Craete a FrozenSet directly
e6f9bb3
2 years ago
by adriangb
0%
Minimize set diff
fb85a9d
2 years ago
by adriangb
0%
minimize bounds checks
ec1d117
2 years ago
by adriangb
0%
try to improve performance
1df041f
2 years ago
by adriangb
0%
Move error checks into GenericIterable
fdb0a7c
2 years ago
by adriangb
0%
remove allow_any_iter
521d22f
2 years ago
by adriangb
0%
remove allow_any_iter
9e1b84d
2 years ago
by adriangb
0%
minimize test changes
7a653f1
2 years ago
by adriangb
0%
only check output length if we have an error
13ca51c
2 years ago
by adriangb
0%
Don't validate generator_max_length
4a82519
2 years ago
by adriangb
0%
remove unused param
280a84f
2 years ago
by adriangb
0%
add test
91ff134
2 years ago
by adriangb
0%
remove duplication
f36e34c
2 years ago
by adriangb
0%
coalesce generics
33af7fa
2 years ago
by adriangb
© 2025 CodSpeed Technology
Home Terms Privacy Docs