pyapp-kit
psygnal
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
feat: allow SignalInstances for evented dataclass fields to emit on field mutation (in addition to field change)
#379
Merged
Comparing
tlambert03:feat-375
(
81d4e72
) with
main
(
e3e2c52
)
CodSpeed Performance Gauge
0%
Improvements
0
Regressions
0
Untouched
67
New
0
Dropped
0
Ignored
0
Benchmarks
Passed
test_dataclass_setattr[msgspec]
tests/test_bench.py::test_dataclass_setattr[msgspec]
CodSpeed Performance Gauge
+2%
66.8 µs
65.7 µs
test_emit_time[function-34]
tests/test_bench.py::test_emit_time[function-34]
CodSpeed Performance Gauge
+1%
88.9 µs
88 µs
test_dataclass_setattr[dataclass]
tests/test_bench.py::test_dataclass_setattr[dataclass]
CodSpeed Performance Gauge
+1%
55.4 µs
54.9 µs
test_emit_time[lambda-34]
tests/test_bench.py::test_emit_time[lambda-34]
CodSpeed Performance Gauge
+1%
89 µs
88.2 µs
test_emit_time[lambda-50]
tests/test_bench.py::test_emit_time[lambda-50]
CodSpeed Performance Gauge
+1%
105.4 µs
104.5 µs
test_emit_time[partial_method-50]
tests/test_bench.py::test_emit_time[partial_method-50]
CodSpeed Performance Gauge
+1%
148.5 µs
147.6 µs
test_emit_time[print-50]
tests/test_bench.py::test_emit_time[print-50]
CodSpeed Performance Gauge
+1%
364.6 µs
362.5 µs
test_emit_time[function-50]
tests/test_bench.py::test_emit_time[function-50]
CodSpeed Performance Gauge
+1%
105.1 µs
104.5 µs
test_emit_fast
tests/test_bench.py::test_emit_fast
CodSpeed Performance Gauge
+1%
21.8 µs
21.6 µs
test_dataclass_group_create[msgspec]
tests/test_bench.py::test_dataclass_group_create[msgspec]
CodSpeed Performance Gauge
+1%
20.9 µs
20.8 µs
test_evented_setattr
tests/test_bench.py::test_evented_setattr
CodSpeed Performance Gauge
+1%
27.1 µs
27 µs
test_dataclass_setattr[pydantic]
tests/test_bench.py::test_dataclass_setattr[pydantic]
CodSpeed Performance Gauge
+1%
116.2 µs
115.6 µs
test_connect_time[setattr-check_types]
tests/test_bench.py::test_connect_time[setattr-check_types]
CodSpeed Performance Gauge
+1%
64.1 µs
63.8 µs
test_emit_time[partial-50]
tests/test_bench.py::test_emit_time[partial-50]
CodSpeed Performance Gauge
0%
128.4 µs
127.8 µs
test_emit_time[lambda-18]
tests/test_bench.py::test_emit_time[lambda-18]
CodSpeed Performance Gauge
0%
72.4 µs
72.1 µs
test_connect_time[setattr-]
tests/test_bench.py::test_connect_time[setattr-]
CodSpeed Performance Gauge
0%
64.1 µs
63.8 µs
test_dataclass_group_create[attrs]
tests/test_bench.py::test_dataclass_group_create[attrs]
CodSpeed Performance Gauge
0%
20.8 µs
20.7 µs
test_evented_creation
tests/test_bench.py::test_evented_creation
CodSpeed Performance Gauge
0%
1.7 ms
1.7 ms
test_emit_time[print-34]
tests/test_bench.py::test_emit_time[print-34]
CodSpeed Performance Gauge
0%
267.4 µs
266.7 µs
test_emit_time[setattr-34]
tests/test_bench.py::test_emit_time[setattr-34]
CodSpeed Performance Gauge
0%
65.1 µs
64.9 µs
test_emit_time[function-18]
tests/test_bench.py::test_emit_time[function-18]
CodSpeed Performance Gauge
0%
72.5 µs
72.3 µs
test_dataclass_group_create[dataclass]
tests/test_bench.py::test_dataclass_group_create[dataclass]
CodSpeed Performance Gauge
0%
13.4 µs
13.3 µs
test_connect_time[setitem-]
tests/test_bench.py::test_connect_time[setitem-]
CodSpeed Performance Gauge
0%
64.6 µs
64.4 µs
test_emit_time[partial_method-34]
tests/test_bench.py::test_emit_time[partial_method-34]
CodSpeed Performance Gauge
0%
119.8 µs
119.6 µs
test_emit_time[setattr-50]
tests/test_bench.py::test_emit_time[setattr-50]
CodSpeed Performance Gauge
0%
71 µs
70.9 µs
test_emit_time[partial-34]
tests/test_bench.py::test_emit_time[partial-34]
CodSpeed Performance Gauge
0%
105.7 µs
105.5 µs
test_emit_time[setitem-34]
tests/test_bench.py::test_emit_time[setitem-34]
CodSpeed Performance Gauge
0%
76.9 µs
76.8 µs
test_emit_time[partial_method-18]
tests/test_bench.py::test_emit_time[partial_method-18]
CodSpeed Performance Gauge
0%
90.7 µs
90.6 µs
test_emit_time[print-2]
tests/test_bench.py::test_emit_time[print-2]
CodSpeed Performance Gauge
0%
75.3 µs
75.3 µs
test_connect_time[print-check_types]
tests/test_bench.py::test_connect_time[print-check_types]
CodSpeed Performance Gauge
0%
753 µs
752.5 µs
test_connect_time[print-]
tests/test_bench.py::test_connect_time[print-]
CodSpeed Performance Gauge
0%
752.4 µs
752.2 µs
test_emit_time[real_func-34]
tests/test_bench.py::test_emit_time[real_func-34]
CodSpeed Performance Gauge
0%
115.9 µs
115.9 µs
test_emit_time[setitem-50]
tests/test_bench.py::test_emit_time[setitem-50]
CodSpeed Performance Gauge
0%
88 µs
88.1 µs
test_emit_time[partial-18]
tests/test_bench.py::test_emit_time[partial-18]
CodSpeed Performance Gauge
0%
82.3 µs
82.4 µs
test_emit_time[method-34]
tests/test_bench.py::test_emit_time[method-34]
CodSpeed Performance Gauge
0%
102.8 µs
102.8 µs
test_emit_time[real_func-50]
tests/test_bench.py::test_emit_time[real_func-50]
CodSpeed Performance Gauge
0%
143.1 µs
143.2 µs
test_create_signal
tests/test_bench.py::test_create_signal
CodSpeed Performance Gauge
0%
64 µs
64.1 µs
test_connect_time[setitem-check_types]
tests/test_bench.py::test_connect_time[setitem-check_types]
CodSpeed Performance Gauge
0%
64.4 µs
64.6 µs
test_emit_time[setattr-2]
tests/test_bench.py::test_emit_time[setattr-2]
CodSpeed Performance Gauge
0%
52.8 µs
52.9 µs
test_connect_time[real_func-check_types]
tests/test_bench.py::test_connect_time[real_func-check_types]
CodSpeed Performance Gauge
0%
133.6 µs
133.9 µs
test_emit_time[real_func-18]
tests/test_bench.py::test_emit_time[real_func-18]
CodSpeed Performance Gauge
0%
88.6 µs
88.8 µs
test_emit_time[partial-2]
tests/test_bench.py::test_emit_time[partial-2]
CodSpeed Performance Gauge
0%
58.2 µs
58.3 µs
test_emit_time[function-2]
tests/test_bench.py::test_emit_time[function-2]
CodSpeed Performance Gauge
0%
56.3 µs
56.4 µs
test_emit_time[partial_method-2]
tests/test_bench.py::test_emit_time[partial_method-2]
CodSpeed Performance Gauge
0%
61 µs
61.2 µs
test_emit_time[method-50]
tests/test_bench.py::test_emit_time[method-50]
CodSpeed Performance Gauge
0%
124.1 µs
124.4 µs
test_dataclass_setattr[attrs]
tests/test_bench.py::test_dataclass_setattr[attrs]
CodSpeed Performance Gauge
0%
65.7 µs
65.9 µs
test_emit_time[setitem-2]
tests/test_bench.py::test_emit_time[setitem-2]
CodSpeed Performance Gauge
0%
54.5 µs
54.6 µs
test_connect_time[method-]
tests/test_bench.py::test_connect_time[method-]
CodSpeed Performance Gauge
0%
184.5 µs
185 µs
test_emit_time[lambda-2]
tests/test_bench.py::test_emit_time[lambda-2]
CodSpeed Performance Gauge
0%
55.8 µs
55.9 µs
test_emit_time[method-18]
tests/test_bench.py::test_emit_time[method-18]
CodSpeed Performance Gauge
0%
80.4 µs
80.6 µs
test_dataclass_group_create[pydantic]
tests/test_bench.py::test_dataclass_group_create[pydantic]
CodSpeed Performance Gauge
0%
22.8 µs
22.9 µs
test_connect_time[lambda-]
tests/test_bench.py::test_connect_time[lambda-]
CodSpeed Performance Gauge
0%
145.6 µs
146.3 µs
test_connect_time[real_func-]
tests/test_bench.py::test_connect_time[real_func-]
CodSpeed Performance Gauge
0%
130 µs
130.7 µs
test_create_signal_instance
tests/test_bench.py::test_create_signal_instance
CodSpeed Performance Gauge
-1%
36.7 µs
36.9 µs
test_emit_time[print-18]
tests/test_bench.py::test_emit_time[print-18]
CodSpeed Performance Gauge
-1%
172 µs
172.9 µs
test_emit_time[setattr-18]
tests/test_bench.py::test_emit_time[setattr-18]
CodSpeed Performance Gauge
-1%
58.6 µs
58.9 µs
test_connect_time[function-check_types]
tests/test_bench.py::test_connect_time[function-check_types]
CodSpeed Performance Gauge
-1%
153.4 µs
154.3 µs
test_connect_time[lambda-check_types]
tests/test_bench.py::test_connect_time[lambda-check_types]
CodSpeed Performance Gauge
-1%
149.8 µs
150.6 µs
test_connect_time[function-]
tests/test_bench.py::test_connect_time[function-]
CodSpeed Performance Gauge
-1%
146.5 µs
147.3 µs
test_emit_time[setitem-18]
tests/test_bench.py::test_emit_time[setitem-18]
CodSpeed Performance Gauge
-1%
66 µs
66.4 µs
test_emit_time[method-2]
tests/test_bench.py::test_emit_time[method-2]
CodSpeed Performance Gauge
-1%
58.3 µs
58.7 µs
test_connect_time[partial-]
tests/test_bench.py::test_connect_time[partial-]
CodSpeed Performance Gauge
-1%
227.5 µs
229.2 µs
test_emit_time[real_func-2]
tests/test_bench.py::test_emit_time[real_func-2]
CodSpeed Performance Gauge
-1%
59.5 µs
60 µs
test_connect_time[partial_method-check_types]
tests/test_bench.py::test_connect_time[partial_method-check_types]
CodSpeed Performance Gauge
-1%
269.6 µs
271.9 µs
test_connect_time[partial_method-]
tests/test_bench.py::test_connect_time[partial_method-]
CodSpeed Performance Gauge
-1%
261.3 µs
263.7 µs
test_connect_time[method-check_types]
tests/test_bench.py::test_connect_time[method-check_types]
CodSpeed Performance Gauge
-1%
191 µs
192.8 µs
test_connect_time[partial-check_types]
tests/test_bench.py::test_connect_time[partial-check_types]
CodSpeed Performance Gauge
-1%
238 µs
240.6 µs
Commits
Click on a commit to change the comparison range
Base
main
e3e2c52
0%
update test
3445bd7
2 months ago
by tlambert03
0%
Merge branch 'main' into feat-375
afef809
5 days ago
by tlambert03
0%
hacky fix
fc1eedf
5 days ago
by tlambert03
0%
fix tests
1862647
4 days ago
by tlambert03
0%
update comments
2b54d5e
4 days ago
by tlambert03
0%
add doc
1cba53a
4 days ago
by tlambert03
0%
pragma
cb3b61a
4 days ago
by tlambert03
0%
Merge branch 'main' into feat-375
15c3ea3
4 days ago
by tlambert03
0%
skip cov
81d4e72
4 days ago
by tlambert03
© 2025 CodSpeed Technology
Home
Terms
Privacy
Docs