python-attrs
cattrs
BlogDocsChangelog

Introduce hook factories for enums

#705
Comparing
tin/enum-factories
(
567e3ef
) with
main
(
1a94abf
)
CodSpeed Performance Gauge
+13%
Improvements
5
Untouched
49

Benchmarks

Improved

test_unstructure_simple_enum[Converter]
bench/test_enums.py
CodSpeed Performance Gauge
+13%
27.8 µs24.6 µs
test_structure_simple_enum[BaseConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+11%
30 µs27.1 µs
test_unstructure_simple_enum[OrjsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+11%
27.2 µs24.6 µs
test_unstructure_attrs_lists[UnstructureStrategy.AS_DICT-Converter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
+10%
122.2 µs110.6 µs
test_unstructure_simple_enum[MsgspecJsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+10%
27.2 µs24.7 µs

Passed

test_unstructure_simple_int_enum[MsgspecJsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+10%
27.3 µs24.8 µs
test_unstructure_simple_int_enum[Converter]
bench/test_enums.py
CodSpeed Performance Gauge
+10%
27.8 µs25.3 µs
test_unstructure_simple_int_enum[OrjsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+10%
27.2 µs24.8 µs
test_unstructure_simple_enum[BaseConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+9%
28.4 µs26.2 µs
test_structure_simple_enum[MsgspecJsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+6%
29.7 µs27.9 µs
test_unstructure_attrs_primitives[UnstructureStrategy.AS_DICT-Converter]
bench/test_attrs_primitives.py
CodSpeed Performance Gauge
+6%
57.5 µs54.1 µs
test_structure_simple_enum[Converter]
bench/test_enums.py
CodSpeed Performance Gauge
+6%
29.5 µs27.8 µs
test_structure_simple_enum[OrjsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+6%
29.6 µs28 µs
test_unstructure_simple_int_enum[BaseConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+6%
28.3 µs26.8 µs
test_unstructure_attrs_primitives[UnstructureStrategy.AS_DICT-BaseConverter]
bench/test_attrs_primitives.py
CodSpeed Performance Gauge
+5%
87.4 µs83.3 µs
test_unstructure_attrs_lists[UnstructureStrategy.AS_TUPLE-Converter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
+4%
195 µs187.5 µs
test_unstructure_attrs_primitives[UnstructureStrategy.AS_TUPLE-Converter]
bench/test_attrs_primitives.py
CodSpeed Performance Gauge
+4%
87.3 µs84 µs
test_unstructure_attrs_primitives[UnstructureStrategy.AS_TUPLE-BaseConverter]
bench/test_attrs_primitives.py
CodSpeed Performance Gauge
+4%
87 µs83.8 µs
test_unstructure_attrs_lists[UnstructureStrategy.AS_TUPLE-BaseConverter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
+3%
285 µs276.7 µs
test_unstructure_attrs_lists[UnstructureStrategy.AS_DICT-BaseConverter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
+3%
295.3 µs286.7 µs
test_structure_attrs_primitives[UnstructureStrategy.AS_DICT-Converter]
bench/test_attrs_primitives.py
CodSpeed Performance Gauge
+1%
73.1 µs72.2 µs
test_structure_attrs_mappings[Converter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
+1%
210.2 µs208.9 µs
test_unstructure_attrs_mappings[UnstructureStrategy.AS_TUPLE-BaseConverter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
+1%
339 µs336.9 µs
test_unstructure_attrs_nested[UnstructureStrategy.AS_TUPLE-Converter]
bench/test_attrs_nested.py
CodSpeed Performance Gauge
+1%
73.1 µs72.7 µs
test_structure_simple_str_enum[OrjsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+1%
27.9 µs27.8 µs
test_structure_simple_str_enum[MsgspecJsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
+1%
27.9 µs27.8 µs
test_structure_simple_int_enum[OrjsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
28 µs27.8 µs
test_structure_attrs_mappings[BaseConverter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
0%
355.6 µs354 µs
test_unstructure_simple_str_enum[Converter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
20.9 µs20.9 µs
test_unstructure_simple_str_enum[OrjsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
21 µs20.9 µs
test_unstructure_attrs_mappings[UnstructureStrategy.AS_DICT-BaseConverter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
0%
340.4 µs339.3 µs
test_unstructure_simple_str_enum[BaseConverter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
20.4 µs20.3 µs
test_unstructure_attrs_nested[UnstructureStrategy.AS_DICT-BaseConverter]
bench/test_attrs_nested.py
CodSpeed Performance Gauge
0%
71.4 µs71.2 µs
test_structure_simple_str_enum[Converter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
27.8 µs27.7 µs
test_unstructure_int[Converter]
bench/test_primitives.py
CodSpeed Performance Gauge
0%
20.9 µs20.9 µs
test_unstructure_float[Converter]
bench/test_primitives.py
CodSpeed Performance Gauge
0%
21 µs20.9 µ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_unstruct_attrs_deep_nest[UnstructureStrategy.AS_DICT-BaseConverter]
bench/test_attrs_nested.py
CodSpeed Performance Gauge
0%
7.7 ms7.7 ms
test_structure_simple_int_enum[BaseConverter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
26.8 µs26.8 µs
test_unstructure_attrs_mappings[UnstructureStrategy.AS_DICT-Converter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
0%
71.5 µs71.5 µs
test_unstructure_float[BaseConverter]
bench/test_primitives.py
CodSpeed Performance Gauge
0%
20.3 µs20.3 µ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_TUPLE-Converter]
bench/test_attrs_primitives.py
CodSpeed Performance Gauge
0%
120.8 µs120.8 µs
test_structure_attrs_primitives[UnstructureStrategy.AS_TUPLE-BaseConverter]
bench/test_attrs_primitives.py
CodSpeed Performance Gauge
0%
111.5 µs111.5 µ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_unstructure_attrs_nested[UnstructureStrategy.AS_TUPLE-BaseConverter]
bench/test_attrs_nested.py
CodSpeed Performance Gauge
0%
73.5 µs73.7 µs
test_unstructure_simple_str_enum[MsgspecJsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
20.9 µs21 µs
test_unstructure_int[BaseConverter]
bench/test_primitives.py
CodSpeed Performance Gauge
0%
20.1 µs20.2 µs
test_unstructure_attrs_mappings[UnstructureStrategy.AS_TUPLE-Converter]
bench/test_attrs_collections.py
CodSpeed Performance Gauge
0%
254.4 µs254.9 µs
test_structure_simple_int_enum[MsgspecJsonConverter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
27.8 µs27.9 µs
test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_TUPLE-BaseConverter]
bench/test_attrs_nested.py
CodSpeed Performance Gauge
0%
7.4 ms7.5 ms
test_structure_attrs_primitives[UnstructureStrategy.AS_DICT-BaseConverter]
bench/test_attrs_primitives.py
CodSpeed Performance Gauge
0%
124 µs124.5 µs
test_structure_simple_int_enum[Converter]
bench/test_enums.py
CodSpeed Performance Gauge
0%
27.7 µs27.8 µs
test_unstructure_attrs_nested[UnstructureStrategy.AS_DICT-Converter]
bench/test_attrs_nested.py
CodSpeed Performance Gauge
-1%
38.5 µs39.1 µs

Commits

Click on a commit to change the comparison range
Base
main
1a94abf
+13.55%
Fix
715d04a
7 days ago
by Tinche
-0.54%
Remove dead code
3627baf
6 days ago
by Tinche
0%
Add FunctionDispatch test
567e3ef
6 days ago
by Tinche
© 2025 CodSpeed Technology
Home Terms Privacy Docs