python-attrs
cattrs
BlogDocsChangelog

Introduce hook factories for enums

#705Merged
Comparing
tin/enum-factories
(
bcd7a80
) with
main
(
6941413
)
CodSpeed Performance Gauge
+11%
Improvements
3
Untouched
51

Benchmarks

Improved

test_structure_simple_enum[BaseConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+11%
30.1 µs27.2 µs
test_unstructure_simple_enum[MsgspecJsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+11%
27.2 µs24.6 µs
test_unstructure_simple_int_enum[MsgspecJsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+10%
27.4 µs24.8 µs

Passed

test_unstructure_simple_enum[Converter]
bench/test_enums.py
CodSpeed Performance Gauge
+10%
27.1 µs24.7 µs
test_unstructure_simple_enum[OrjsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+10%
27.2 µs24.8 µs
test_unstructure_simple_int_enum[OrjsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+10%
27.3 µs24.9 µs
test_unstructure_attrs_lists[UnstructureStrategy.AS_DICT-Converter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
+9%
121.9 µs111.6 µs
test_unstructure_simple_enum[BaseConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+9%
28.4 µs26 µs
test_unstructure_simple_int_enum[Converter]
bench/test_enums.py
CodSpeed Performance Gauge
+7%
27.9 µs26 µs
test_unstructure_attrs_primitives[UnstructureStrategy.AS_DICT-Converter]
bench/test_attrs_primitives.py
CodSpeed Performance Gauge
+7%
57.4 µs53.8 µs
test_structure_simple_enum[MsgspecJsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+7%
29.6 µs27.8 µs
test_structure_simple_enum[OrjsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+6%
29.7 µs27.9 µs
test_structure_simple_enum[Converter]
bench/test_enums.py
CodSpeed Performance Gauge
+6%
29.6 µs27.9 µs
test_unstructure_attrs_lists[UnstructureStrategy.AS_TUPLE-Converter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
+6%
195.4 µs184.7 µs
test_unstructure_attrs_primitives[UnstructureStrategy.AS_DICT-BaseConverter]
bench/test_attrs_primitives.py
CodSpeed Performance Gauge
+6%
87.5 µs82.9 µs
test_unstructure_simple_int_enum[BaseConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+5%
28.4 µs27 µs
test_unstructure_attrs_primitives[UnstructureStrategy.AS_TUPLE-Converter]
bench/test_attrs_primitives.py
CodSpeed Performance Gauge
+5%
87.3 µs83.5 µs
test_unstructure_attrs_primitives[UnstructureStrategy.AS_TUPLE-BaseConverter]
bench/test_attrs_primitives.py
CodSpeed Performance Gauge
+4%
87.2 µs84.1 µs
test_unstructure_attrs_lists[UnstructureStrategy.AS_DICT-BaseConverter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
+3%
295.1 µs285.1 µs
test_unstructure_attrs_nested[UnstructureStrategy.AS_DICT-Converter]
bench/test_attrs_nested.py
CodSpeed Performance Gauge
+3%
39.5 µs38.4 µs
test_unstructure_attrs_lists[UnstructureStrategy.AS_TUPLE-BaseConverter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
+2%
284.7 µs277.8 µs
test_structure_attrs_primitives[UnstructureStrategy.AS_DICT-Converter]
bench/test_attrs_primitives.py
CodSpeed Performance Gauge
+1%
73.1 µs72.3 µs
test_unstructure_simple_str_enum[BaseConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+1%
20.4 µs20.3 µs
test_unstructure_simple_str_enum[OrjsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+1%
21.1 µs21 µs
test_unstructure_simple_str_enum[MsgspecJsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
21.1 µs21 µs
test_unstructure_attrs_mappings[UnstructureStrategy.AS_TUPLE-BaseConverter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
0%
337.5 µs336.1 µs
test_unstructure_simple_str_enum[Converter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
21 µs20.9 µs
test_unstructure_float[BaseConverter]
bench/test_primitives.py
CodSpeed Performance Gauge
0%
20.4 µs20.3 µs
test_structure_simple_int_enum[MsgspecJsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
28 µs27.9 µs
test_structure_simple_int_enum[BaseConverter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
26.9 µs26.8 µs
test_structure_simple_str_enum[MsgspecJsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
27.8 µs27.7 µs
test_unstructure_attrs_mappings[UnstructureStrategy.AS_TUPLE-Converter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
0%
254.1 µs253.3 µs
test_structure_attrs_mappings[BaseConverter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
0%
354.2 µs353.1 µs
test_structure_attrs_mappings[Converter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
0%
209 µs208.4 µs
test_structure_attrs_primitives[UnstructureStrategy.AS_TUPLE-Converter]
bench/test_attrs_primitives.py
CodSpeed Performance Gauge
0%
121 µs120.7 µs
test_structure_simple_str_enum[BaseConverter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
26.8 µs26.8 µs
test_structure_attrs_primitives[UnstructureStrategy.AS_DICT-BaseConverter]
bench/test_attrs_primitives.py
CodSpeed Performance Gauge
0%
124.3 µs124.1 µs
test_structure_attrs_primitives[UnstructureStrategy.AS_TUPLE-BaseConverter]
bench/test_attrs_primitives.py
CodSpeed Performance Gauge
0%
111.4 µs111.2 µs
test_unstructure_attrs_nested[UnstructureStrategy.AS_DICT-BaseConverter]
bench/test_attrs_nested.py
CodSpeed Performance Gauge
0%
71.5 µs71.4 µs
test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_TUPLE-BaseConverter]
bench/test_attrs_nested.py
CodSpeed Performance Gauge
0%
7.4 ms7.4 ms
test_structure_simple_int_enum[Converter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
27.8 µs27.8 µs
test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_DICT-BaseConverter]
bench/test_attrs_nested.py
CodSpeed Performance Gauge
0%
7.7 ms7.7 ms
test_unstructure_int[Converter]
bench/test_primitives.py
CodSpeed Performance Gauge
0%
20.9 µs20.9 µs
test_unstructure_attrs_mappings[UnstructureStrategy.AS_DICT-BaseConverter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
0%
340.4 µs340.4 µs
test_unstructure_float[Converter]
bench/test_primitives.py
CodSpeed Performance Gauge
0%
20.9 µs20.9 µs
test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_DICT-Converter]
bench/test_attrs_nested.py
CodSpeed Performance Gauge
0%
2.6 ms2.6 ms
test_structure_simple_int_enum[OrjsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
27.8 µs27.9 µs
test_unstructure_int[BaseConverter]
bench/test_primitives.py
CodSpeed Performance Gauge
0%
20.2 µs20.2 µs
test_unstructure_attrs_nested[UnstructureStrategy.AS_TUPLE-BaseConverter]
bench/test_attrs_nested.py
CodSpeed Performance Gauge
0%
73.3 µs73.5 µs
test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_TUPLE-Converter]
bench/test_attrs_nested.py
CodSpeed Performance Gauge
0%
7.5 ms7.5 ms
test_unstructure_attrs_nested[UnstructureStrategy.AS_TUPLE-Converter]
bench/test_attrs_nested.py
CodSpeed Performance Gauge
0%
73.3 µs73.6 µs
test_structure_simple_str_enum[OrjsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
-1%
27.7 µs27.9 µs
test_structure_simple_str_enum[Converter]
bench/test_enums.py
CodSpeed Performance Gauge
-1%
27.6 µs27.8 µs
test_unstructure_attrs_mappings[UnstructureStrategy.AS_DICT-Converter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
-1%
71.7 µs72.4 µs

Commits

Click on a commit to change the comparison range
Base
main
6941413
+10.54%
Add PR link
bcd7a80
1 day ago
by Tinche
© 2025 CodSpeed Technology
Home Terms Privacy Docs