BlogDocs

feat: support for evented containers as pydantic v2 fields(#283)

Merged
Comparing
tlambert03:pydantic-fields
(
b239e9a
) with
main
(
8f44f34
)
+1%
IMPROVEMENTS
0
REGRESSIONS
0
UNTOUCHED
66
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Passed

test_emit_time[setitem-2]
tests/test_bench.py::test_emit_time[setitem-2]
+5%
57.3 µs
54.8 µs
test_connect_time[setattr-]
tests/test_bench.py::test_connect_time[setattr-]
+3%
63 µs
61.1 µs
test_connect_time[setitem-]
tests/test_bench.py::test_connect_time[setitem-]
+3%
63.5 µs
61.8 µs
test_connect_time[setitem-check_types]
tests/test_bench.py::test_connect_time[setitem-check_types]
+3%
68.2 µs
66.6 µs
test_connect_time[function-]
tests/test_bench.py::test_connect_time[function-]
+2%
142.7 µs
140.2 µs
test_emit_time[function-2]
tests/test_bench.py::test_emit_time[function-2]
+2%
61.3 µs
60.4 µs
test_evented_setattr
tests/test_bench.py::test_evented_setattr
+1%
28.3 µs
27.9 µs
test_emit_time[setitem-34]
tests/test_bench.py::test_emit_time[setitem-34]
+1%
79.7 µs
78.7 µs
test_emit_time[setitem-18]
tests/test_bench.py::test_emit_time[setitem-18]
+1%
67.6 µs
66.7 µs
test_emit_time[setattr-2]
tests/test_bench.py::test_emit_time[setattr-2]
+1%
53.5 µs
52.9 µs
test_emit_time[setitem-50]
tests/test_bench.py::test_emit_time[setitem-50]
+1%
91.9 µs
90.8 µs
test_connect_time[setattr-check_types]
tests/test_bench.py::test_connect_time[setattr-check_types]
+1%
68.5 µs
67.7 µs
test_emit_time[setattr-34]
tests/test_bench.py::test_emit_time[setattr-34]
+1%
67.3 µs
66.6 µs
test_emit_time[real_func-2]
tests/test_bench.py::test_emit_time[real_func-2]
+1%
62.3 µs
61.7 µs
test_connect_time[real_func-]
tests/test_bench.py::test_connect_time[real_func-]
+1%
124.3 µs
123 µs
test_emit_time[partial-50]
tests/test_bench.py::test_emit_time[partial-50]
+1%
125.3 µs
124.2 µs
test_emit_time[partial_method-2]
tests/test_bench.py::test_emit_time[partial_method-2]
+1%
61.5 µs
61 µs
test_connect_time[partial-check_types]
tests/test_bench.py::test_connect_time[partial-check_types]
+1%
255.9 µs
253.6 µs
test_connect_time[real_func-check_types]
tests/test_bench.py::test_connect_time[real_func-check_types]
+1%
127.2 µs
126.1 µs
test_emit_time[function-34]
tests/test_bench.py::test_emit_time[function-34]
+1%
83.5 µs
82.8 µs
test_emit_time[partial_method-34]
tests/test_bench.py::test_emit_time[partial_method-34]
+1%
120.9 µs
119.9 µs
test_emit_time[method-2]
tests/test_bench.py::test_emit_time[method-2]
+1%
59.7 µs
59.2 µs
test_emit_time[partial-18]
tests/test_bench.py::test_emit_time[partial-18]
+1%
82.5 µs
81.9 µs
test_connect_time[lambda-]
tests/test_bench.py::test_connect_time[lambda-]
+1%
142.5 µs
141.4 µs
test_emit_time[real_func-34]
tests/test_bench.py::test_emit_time[real_func-34]
+1%
130.3 µs
129.3 µs
test_connect_time[partial_method-]
tests/test_bench.py::test_connect_time[partial_method-]
+1%
276 µs
274 µs
test_emit_time[partial-2]
tests/test_bench.py::test_emit_time[partial-2]
+1%
57.9 µs
57.5 µs
test_emit_time[lambda-34]
tests/test_bench.py::test_emit_time[lambda-34]
+1%
83.6 µs
83 µs
test_emit_time[setattr-18]
tests/test_bench.py::test_emit_time[setattr-18]
+1%
60.5 µs
60 µs
test_emit_time[lambda-18]
tests/test_bench.py::test_emit_time[lambda-18]
+1%
69.4 µs
69 µs
test_emit_time[method-50]
tests/test_bench.py::test_emit_time[method-50]
+1%
122.1 µs
121.4 µs
test_emit_time[function-18]
tests/test_bench.py::test_emit_time[function-18]
+1%
69.4 µs
69.1 µs
test_emit_time[method-18]
tests/test_bench.py::test_emit_time[method-18]
+1%
80.2 µs
79.7 µs
test_emit_time[method-34]
tests/test_bench.py::test_emit_time[method-34]
+1%
101 µs
100.5 µs
test_connect_time[print-]
tests/test_bench.py::test_connect_time[print-]
+1%
145.2 µs
144.5 µs
test_connect_time[partial-]
tests/test_bench.py::test_connect_time[partial-]
+1%
243.7 µs
242.5 µs
test_emit_time[lambda-2]
tests/test_bench.py::test_emit_time[lambda-2]
+1%
55.9 µs
55.7 µs
test_emit_time[lambda-50]
tests/test_bench.py::test_emit_time[lambda-50]
0%
97.4 µs
96.9 µs
test_emit_time[function-50]
tests/test_bench.py::test_emit_time[function-50]
0%
97.3 µs
96.9 µs
test_emit_time[partial-34]
tests/test_bench.py::test_emit_time[partial-34]
0%
104.1 µs
103.7 µs
test_emit_time[real_func-50]
tests/test_bench.py::test_emit_time[real_func-50]
0%
162.5 µs
161.9 µs
test_emit_time[setattr-50]
tests/test_bench.py::test_emit_time[setattr-50]
0%
74.1 µs
74 µs
test_connect_time[print-check_types]
tests/test_bench.py::test_connect_time[print-check_types]
0%
202.8 µs
202.4 µs
test_dataclass_group_create[dataclass]
tests/test_bench.py::test_dataclass_group_create[dataclass]
0%
358 µs
357.5 µs
test_connect_time[partial_method-check_types]
tests/test_bench.py::test_connect_time[partial_method-check_types]
0%
282.2 µs
281.8 µs
test_emit_time[partial_method-50]
tests/test_bench.py::test_emit_time[partial_method-50]
0%
151.1 µs
150.9 µs
test_emit_time[partial_method-18]
tests/test_bench.py::test_emit_time[partial_method-18]
0%
90.7 µs
90.7 µs
test_dataclass_setattr[pydantic]
tests/test_bench.py::test_dataclass_setattr[pydantic]
0%
847.5 µs
847.4 µs
test_emit_time[print-50]
tests/test_bench.py::test_emit_time[print-50]
0%
368.2 µs
368.2 µs
test_dataclass_group_create[pydantic]
tests/test_bench.py::test_dataclass_group_create[pydantic]
0%
466.6 µs
466.6 µs
test_dataclass_group_create[msgspec]
tests/test_bench.py::test_dataclass_group_create[msgspec]
0%
480 µs
480.2 µs
test_connect_time[method-check_types]
tests/test_bench.py::test_connect_time[method-check_types]
0%
184.2 µs
184.3 µs
test_connect_time[function-check_types]
tests/test_bench.py::test_connect_time[function-check_types]
0%
155.1 µs
155.2 µs
test_emit_time[real_func-18]
tests/test_bench.py::test_emit_time[real_func-18]
0%
96.9 µs
97 µs
test_emit_time[print-34]
tests/test_bench.py::test_emit_time[print-34]
0%
270.9 µs
271.1 µs
test_evented_creation
tests/test_bench.py::test_evented_creation
0%
1.5 ms
1.5 ms
test_dataclass_setattr[dataclass]
tests/test_bench.py::test_dataclass_setattr[dataclass]
0%
739.6 µs
740.5 µs
test_emit_time[print-18]
tests/test_bench.py::test_emit_time[print-18]
0%
173.3 µs
173.7 µs
test_create_signal
tests/test_bench.py::test_create_signal
0%
74.8 µs
75 µs
test_dataclass_group_create[attrs]
tests/test_bench.py::test_dataclass_group_create[attrs]
0%
469.5 µs
470.8 µs
test_emit_time[print-2]
tests/test_bench.py::test_emit_time[print-2]
0%
82.6 µs
82.8 µs
test_dataclass_setattr[attrs]
tests/test_bench.py::test_dataclass_setattr[attrs]
0%
758 µs
760.5 µs
test_dataclass_setattr[msgspec]
tests/test_bench.py::test_dataclass_setattr[msgspec]
0%
756.7 µs
759.4 µs
test_connect_time[method-]
tests/test_bench.py::test_connect_time[method-]
-1%
175.8 µs
177.4 µs
test_connect_time[lambda-check_types]
tests/test_bench.py::test_connect_time[lambda-check_types]
-2%
144.4 µs
146.6 µs
test_create_signal_instance
tests/test_bench.py::test_create_signal_instance
-4%
24.9 µs
25.9 µs

Commits

Click on a commit to change the comparison range
base
main
8f44f34
+1%
feat: support for pydantic v2 as fields
b239e9a
8 months ago
by tlambert03
ResourcesHomePricingDocsBlogGitHubChangelog
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.