Avatar for the pyapp-kit user
pyapp-kit
psygnal
BlogDocsChangelog

feat: add collect_fields option to SignalGroupDescriptor, and accept a SignalGroup subclass

#291Merged
Comparing
getzze:collect_fields
(
7db13a7
) with
main
(
f37c26f
)
CodSpeed Performance Gauge
0%
Improvements
0
Regressions
0
Untouched
66
New
0
Dropped
0
Ignored
0

Benchmarks

Passed

test_create_signal_instance
tests/test_bench.py::test_create_signal_instance
CodSpeed Performance Gauge
+2%
28.5 µs
27.9 µs
test_connect_time[setitem-check_types]
tests/test_bench.py::test_connect_time[setitem-check_types]
CodSpeed Performance Gauge
+2%
68.7 µs
67.6 µs
test_connect_time[setattr-]
tests/test_bench.py::test_connect_time[setattr-]
CodSpeed Performance Gauge
+2%
63.2 µs
62.3 µs
test_connect_time[method-check_types]
tests/test_bench.py::test_connect_time[method-check_types]
CodSpeed Performance Gauge
+1%
185.5 µs
183.4 µs
test_connect_time[partial-]
tests/test_bench.py::test_connect_time[partial-]
CodSpeed Performance Gauge
+1%
247.8 µs
245.5 µs
test_emit_time[setitem-2]
tests/test_bench.py::test_emit_time[setitem-2]
CodSpeed Performance Gauge
+1%
57.7 µs
57.2 µs
test_connect_time[method-]
tests/test_bench.py::test_connect_time[method-]
CodSpeed Performance Gauge
+1%
177.3 µs
176 µs
test_connect_time[setitem-]
tests/test_bench.py::test_connect_time[setitem-]
CodSpeed Performance Gauge
+1%
63.5 µs
63.1 µs
test_connect_time[real_func-]
tests/test_bench.py::test_connect_time[real_func-]
CodSpeed Performance Gauge
+1%
125.3 µs
124.5 µs
test_connect_time[function-]
tests/test_bench.py::test_connect_time[function-]
CodSpeed Performance Gauge
+1%
142.1 µs
141.4 µs
test_connect_time[setattr-check_types]
tests/test_bench.py::test_connect_time[setattr-check_types]
CodSpeed Performance Gauge
+1%
69 µs
68.7 µs
test_connect_time[real_func-check_types]
tests/test_bench.py::test_connect_time[real_func-check_types]
CodSpeed Performance Gauge
+1%
128.4 µs
127.8 µs
test_emit_time[method-18]
tests/test_bench.py::test_emit_time[method-18]
CodSpeed Performance Gauge
0%
82.3 µs
82 µs
test_emit_time[print-50]
tests/test_bench.py::test_emit_time[print-50]
CodSpeed Performance Gauge
0%
373.6 µs
372.1 µs
test_emit_time[setattr-18]
tests/test_bench.py::test_emit_time[setattr-18]
CodSpeed Performance Gauge
0%
62.5 µs
62.3 µs
test_emit_time[print-34]
tests/test_bench.py::test_emit_time[print-34]
CodSpeed Performance Gauge
0%
274.6 µs
273.7 µs
test_emit_time[method-34]
tests/test_bench.py::test_emit_time[method-34]
CodSpeed Performance Gauge
0%
103.3 µs
103 µs
test_emit_time[print-18]
tests/test_bench.py::test_emit_time[print-18]
CodSpeed Performance Gauge
0%
176.9 µs
176.4 µs
test_emit_time[method-2]
tests/test_bench.py::test_emit_time[method-2]
CodSpeed Performance Gauge
0%
62.1 µs
61.9 µs
test_emit_time[method-50]
tests/test_bench.py::test_emit_time[method-50]
CodSpeed Performance Gauge
0%
124.3 µs
123.9 µs
test_emit_time[real_func-18]
tests/test_bench.py::test_emit_time[real_func-18]
CodSpeed Performance Gauge
0%
99.2 µs
99 µs
test_connect_time[partial_method-check_types]
tests/test_bench.py::test_connect_time[partial_method-check_types]
CodSpeed Performance Gauge
0%
286.2 µs
285.6 µs
test_emit_time[real_func-34]
tests/test_bench.py::test_emit_time[real_func-34]
CodSpeed Performance Gauge
0%
133.3 µs
133 µs
test_connect_time[partial_method-]
tests/test_bench.py::test_connect_time[partial_method-]
CodSpeed Performance Gauge
0%
279 µs
278.6 µs
test_emit_time[setitem-34]
tests/test_bench.py::test_emit_time[setitem-34]
CodSpeed Performance Gauge
0%
81.5 µs
81.5 µs
test_emit_time[setitem-18]
tests/test_bench.py::test_emit_time[setitem-18]
CodSpeed Performance Gauge
0%
69.1 µs
69.1 µs
test_dataclass_group_create[msgspec]
tests/test_bench.py::test_dataclass_group_create[msgspec]
CodSpeed Performance Gauge
0%
590.4 µs
590.2 µs
test_dataclass_group_create[pydantic]
tests/test_bench.py::test_dataclass_group_create[pydantic]
CodSpeed Performance Gauge
0%
586.5 µs
586.7 µs
test_emit_time[setitem-50]
tests/test_bench.py::test_emit_time[setitem-50]
CodSpeed Performance Gauge
0%
93.5 µs
93.5 µs
test_emit_time[partial_method-34]
tests/test_bench.py::test_emit_time[partial_method-34]
CodSpeed Performance Gauge
0%
121.9 µs
121.9 µs
test_emit_time[real_func-50]
tests/test_bench.py::test_emit_time[real_func-50]
CodSpeed Performance Gauge
0%
167.4 µs
167.5 µs
test_evented_creation
tests/test_bench.py::test_evented_creation
CodSpeed Performance Gauge
0%
1.6 ms
1.6 ms
test_evented_setattr
tests/test_bench.py::test_evented_setattr
CodSpeed Performance Gauge
0%
28 µs
28 µs
test_emit_time[setattr-50]
tests/test_bench.py::test_emit_time[setattr-50]
CodSpeed Performance Gauge
0%
76.4 µs
76.5 µs
test_emit_time[lambda-50]
tests/test_bench.py::test_emit_time[lambda-50]
CodSpeed Performance Gauge
0%
99.8 µs
100 µs
test_emit_time[print-2]
tests/test_bench.py::test_emit_time[print-2]
CodSpeed Performance Gauge
0%
85.3 µs
85.5 µs
test_connect_time[function-check_types]
tests/test_bench.py::test_connect_time[function-check_types]
CodSpeed Performance Gauge
0%
156.4 µs
156.9 µs
test_emit_time[setattr-2]
tests/test_bench.py::test_emit_time[setattr-2]
CodSpeed Performance Gauge
0%
55.5 µs
55.6 µs
test_emit_time[partial_method-50]
tests/test_bench.py::test_emit_time[partial_method-50]
CodSpeed Performance Gauge
0%
151.7 µs
152.1 µs
test_connect_time[partial-check_types]
tests/test_bench.py::test_connect_time[partial-check_types]
CodSpeed Performance Gauge
0%
258.2 µs
259 µs
test_dataclass_group_create[dataclass]
tests/test_bench.py::test_dataclass_group_create[dataclass]
CodSpeed Performance Gauge
0%
497.3 µs
498.8 µs
test_emit_time[setattr-34]
tests/test_bench.py::test_emit_time[setattr-34]
CodSpeed Performance Gauge
0%
69.3 µs
69.5 µs
test_dataclass_setattr[pydantic]
tests/test_bench.py::test_dataclass_setattr[pydantic]
CodSpeed Performance Gauge
0%
857.9 µs
860.9 µs
test_emit_time[real_func-2]
tests/test_bench.py::test_emit_time[real_func-2]
CodSpeed Performance Gauge
0%
64.3 µs
64.6 µs
test_create_signal
tests/test_bench.py::test_create_signal
CodSpeed Performance Gauge
0%
74.6 µs
75 µs
test_dataclass_group_create[attrs]
tests/test_bench.py::test_dataclass_group_create[attrs]
CodSpeed Performance Gauge
0%
583.1 µs
585.9 µs
test_emit_time[lambda-18]
tests/test_bench.py::test_emit_time[lambda-18]
CodSpeed Performance Gauge
-1%
71.6 µs
72 µs
test_connect_time[print-check_types]
tests/test_bench.py::test_connect_time[print-check_types]
CodSpeed Performance Gauge
-1%
206.4 µs
207.5 µs
test_emit_time[lambda-34]
tests/test_bench.py::test_emit_time[lambda-34]
CodSpeed Performance Gauge
-1%
85.8 µs
86.2 µs
test_emit_time[function-50]
tests/test_bench.py::test_emit_time[function-50]
CodSpeed Performance Gauge
-1%
99.8 µs
100.4 µs
test_emit_time[function-18]
tests/test_bench.py::test_emit_time[function-18]
CodSpeed Performance Gauge
-1%
71.5 µs
71.9 µs
test_dataclass_setattr[msgspec]
tests/test_bench.py::test_dataclass_setattr[msgspec]
CodSpeed Performance Gauge
-1%
763.8 µs
768.5 µs
test_emit_time[function-2]
tests/test_bench.py::test_emit_time[function-2]
CodSpeed Performance Gauge
-1%
63.4 µs
63.8 µs
test_emit_time[function-34]
tests/test_bench.py::test_emit_time[function-34]
CodSpeed Performance Gauge
-1%
85.6 µs
86.2 µs
test_connect_time[print-]
tests/test_bench.py::test_connect_time[print-]
CodSpeed Performance Gauge
-1%
145.9 µs
146.9 µs
test_connect_time[lambda-check_types]
tests/test_bench.py::test_connect_time[lambda-check_types]
CodSpeed Performance Gauge
-1%
145.9 µs
146.9 µs
test_emit_time[partial_method-18]
tests/test_bench.py::test_emit_time[partial_method-18]
CodSpeed Performance Gauge
-1%
92.7 µs
93.4 µs
test_dataclass_setattr[dataclass]
tests/test_bench.py::test_dataclass_setattr[dataclass]
CodSpeed Performance Gauge
-1%
748.6 µs
754.3 µs
test_connect_time[lambda-]
tests/test_bench.py::test_connect_time[lambda-]
CodSpeed Performance Gauge
-1%
141.7 µs
142.8 µs
test_emit_time[partial-18]
tests/test_bench.py::test_emit_time[partial-18]
CodSpeed Performance Gauge
-1%
84.3 µs
85.2 µs
test_dataclass_setattr[attrs]
tests/test_bench.py::test_dataclass_setattr[attrs]
CodSpeed Performance Gauge
-1%
766.9 µs
774.6 µs
test_emit_time[partial-34]
tests/test_bench.py::test_emit_time[partial-34]
CodSpeed Performance Gauge
-1%
107.4 µs
108.5 µs
test_emit_time[partial_method-2]
tests/test_bench.py::test_emit_time[partial_method-2]
CodSpeed Performance Gauge
-1%
63.8 µs
64.5 µs
test_emit_time[lambda-2]
tests/test_bench.py::test_emit_time[lambda-2]
CodSpeed Performance Gauge
-1%
57.8 µs
58.6 µs
test_emit_time[partial-2]
tests/test_bench.py::test_emit_time[partial-2]
CodSpeed Performance Gauge
-2%
59.8 µs
60.8 µs
test_emit_time[partial-50]
tests/test_bench.py::test_emit_time[partial-50]
CodSpeed Performance Gauge
-3%
129.8 µs
134.3 µs

Commits

Click on a commit to change the comparison range
Base
main
f37c26f
+11%
add collect_fields
1326445
10 months ago
by getzze
-11%
Merge pull request #1 from tlambert03/collect_fields make generic, misc suggestions
cba36a6
10 months ago
by getzze
0%
cleanup
6e636e6
10 months ago
by getzze
+1%
remove future
c0a34b4
10 months ago
by getzze
-12%
remove future
c49d246
10 months ago
by getzze
+12%
Merge branch 'main' into collect_fields
43c6e16
10 months ago
by tlambert03
0%
remove unused cast
7db13a7
10 months ago
by tlambert03
Home Terms PrivacyDocs