BlogDocs

refactor!: New SignalGroup that does not subclass SignalInstance(#269)

Merged
Comparing
tlambert03:new-signal-group
(
dbbd2fa
) with
main
(
94d0a67
)
-20%
IMPROVEMENTS
1
REGRESSIONS
4
UNTOUCHED
61
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Improved

test_emit_time[partial_method-2]
tests/test_bench.py::test_emit_time[partial_method-2]
+10%
67.8 µs
61.6 µs

Passed

test_emit_time[real_func-2]
tests/test_bench.py::test_emit_time[real_func-2]
+3%
64.1 µs
62.2 µs
test_emit_time[real_func-34]
tests/test_bench.py::test_emit_time[real_func-34]
+1%
130.1 µs
129 µs
test_connect_time[real_func-check_types]
tests/test_bench.py::test_connect_time[real_func-check_types]
+1%
127 µs
126.3 µs
test_emit_time[partial_method-34]
tests/test_bench.py::test_emit_time[partial_method-34]
0%
120 µs
119.5 µs
test_emit_time[lambda-50]
tests/test_bench.py::test_emit_time[lambda-50]
0%
97.2 µs
96.8 µs
test_emit_time[function-50]
tests/test_bench.py::test_emit_time[function-50]
0%
97.2 µs
96.8 µs
test_emit_time[real_func-50]
tests/test_bench.py::test_emit_time[real_func-50]
0%
162.5 µs
162 µs
test_emit_time[print-50]
tests/test_bench.py::test_emit_time[print-50]
0%
367.7 µs
366.6 µs
test_emit_time[function-18]
tests/test_bench.py::test_emit_time[function-18]
0%
68.9 µs
68.7 µs
test_connect_time[setattr-check_types]
tests/test_bench.py::test_connect_time[setattr-check_types]
0%
69.2 µs
69.1 µs
test_emit_time[print-34]
tests/test_bench.py::test_emit_time[print-34]
0%
270.2 µs
269.5 µs
test_connect_time[setattr-]
tests/test_bench.py::test_connect_time[setattr-]
0%
63.3 µs
63.2 µs
test_emit_time[method-50]
tests/test_bench.py::test_emit_time[method-50]
0%
122 µs
121.8 µs
test_emit_time[print-18]
tests/test_bench.py::test_emit_time[print-18]
0%
172.9 µs
172.7 µs
test_connect_time[method-check_types]
tests/test_bench.py::test_connect_time[method-check_types]
0%
184.4 µs
184.2 µs
test_dataclass_setattr[pydantic]
tests/test_bench.py::test_dataclass_setattr[pydantic]
0%
849.5 µs
848.6 µs
test_connect_time[print-]
tests/test_bench.py::test_connect_time[print-]
0%
144.5 µs
144.3 µs
test_emit_time[lambda-34]
tests/test_bench.py::test_emit_time[lambda-34]
0%
82.9 µs
82.8 µs
test_emit_time[real_func-18]
tests/test_bench.py::test_emit_time[real_func-18]
0%
96.3 µs
96.3 µs
test_emit_time[partial_method-18]
tests/test_bench.py::test_emit_time[partial_method-18]
0%
90.3 µs
90.2 µs
test_emit_time[lambda-2]
tests/test_bench.py::test_emit_time[lambda-2]
0%
55.1 µs
55.1 µs
test_emit_time[setitem-50]
tests/test_bench.py::test_emit_time[setitem-50]
0%
90.8 µs
90.8 µs
test_connect_time[print-check_types]
tests/test_bench.py::test_connect_time[print-check_types]
0%
202.4 µs
202.5 µs
test_emit_time[function-2]
tests/test_bench.py::test_emit_time[function-2]
0%
61.2 µs
61.2 µs
test_connect_time[function-check_types]
tests/test_bench.py::test_connect_time[function-check_types]
0%
154.6 µs
154.7 µs
test_emit_time[partial-34]
tests/test_bench.py::test_emit_time[partial-34]
0%
103.8 µs
103.9 µs
test_emit_time[function-34]
tests/test_bench.py::test_emit_time[function-34]
0%
82.9 µs
83 µs
test_dataclass_setattr[msgspec]
tests/test_bench.py::test_dataclass_setattr[msgspec]
0%
756.1 µs
757.3 µs
test_dataclass_setattr[attrs]
tests/test_bench.py::test_dataclass_setattr[attrs]
0%
758.8 µs
760.4 µs
test_emit_time[lambda-18]
tests/test_bench.py::test_emit_time[lambda-18]
0%
68.7 µs
68.9 µs
test_connect_time[setitem-]
tests/test_bench.py::test_connect_time[setitem-]
0%
63.3 µs
63.5 µs
test_emit_time[partial_method-50]
tests/test_bench.py::test_emit_time[partial_method-50]
0%
151.1 µs
151.6 µs
test_connect_time[partial-]
tests/test_bench.py::test_connect_time[partial-]
0%
241.6 µs
242.4 µs
test_emit_time[method-34]
tests/test_bench.py::test_emit_time[method-34]
0%
100.8 µs
101.2 µs
test_emit_time[print-2]
tests/test_bench.py::test_emit_time[print-2]
0%
82.3 µs
82.6 µs
test_emit_time[setitem-2]
tests/test_bench.py::test_emit_time[setitem-2]
0%
54.6 µs
54.8 µs
test_emit_time[setattr-34]
tests/test_bench.py::test_emit_time[setattr-34]
-1%
66.6 µs
67 µs
test_emit_time[setitem-18]
tests/test_bench.py::test_emit_time[setitem-18]
-1%
66.2 µs
66.6 µs
test_emit_time[setattr-50]
tests/test_bench.py::test_emit_time[setattr-50]
-1%
73.3 µs
73.7 µs
test_dataclass_setattr[dataclass]
tests/test_bench.py::test_dataclass_setattr[dataclass]
-1%
736.7 µs
742 µs
test_emit_time[setattr-18]
tests/test_bench.py::test_emit_time[setattr-18]
-1%
59.4 µs
59.8 µs
test_emit_time[partial-50]
tests/test_bench.py::test_emit_time[partial-50]
-1%
124.9 µs
125.9 µs
test_connect_time[partial_method-]
tests/test_bench.py::test_connect_time[partial_method-]
-1%
273.7 µs
275.8 µs
test_emit_time[setattr-2]
tests/test_bench.py::test_emit_time[setattr-2]
-1%
52.9 µs
53.3 µs
test_emit_time[partial-18]
tests/test_bench.py::test_emit_time[partial-18]
-1%
81.6 µs
82.2 µs
test_emit_time[partial-2]
tests/test_bench.py::test_emit_time[partial-2]
-1%
57.2 µs
57.6 µs
test_emit_time[setitem-34]
tests/test_bench.py::test_emit_time[setitem-34]
-1%
78.3 µs
78.9 µs
test_connect_time[real_func-]
tests/test_bench.py::test_connect_time[real_func-]
-1%
123.2 µs
124.3 µs
test_evented_creation
tests/test_bench.py::test_evented_creation
-1%
1.7 ms
1.7 ms
test_connect_time[setitem-check_types]
tests/test_bench.py::test_connect_time[setitem-check_types]
-1%
67.9 µs
68.6 µs
test_create_signal_instance
tests/test_bench.py::test_create_signal_instance
-1%
24.6 µs
24.9 µs
test_emit_time[method-18]
tests/test_bench.py::test_emit_time[method-18]
-1%
79.3 µs
80.3 µs
test_connect_time[partial_method-check_types]
tests/test_bench.py::test_connect_time[partial_method-check_types]
-1%
279.2 µs
282.7 µs
test_create_signal
tests/test_bench.py::test_create_signal
-1%
74.1 µs
75 µs
test_connect_time[method-]
tests/test_bench.py::test_connect_time[method-]
-1%
176.1 µs
178.4 µs
test_connect_time[lambda-check_types]
tests/test_bench.py::test_connect_time[lambda-check_types]
-1%
144.3 µs
146.3 µs
test_connect_time[partial-check_types]
tests/test_bench.py::test_connect_time[partial-check_types]
-1%
252.5 µs
256.1 µs
test_connect_time[lambda-]
tests/test_bench.py::test_connect_time[lambda-]
-1%
140 µs
142 µs
test_emit_time[method-2]
tests/test_bench.py::test_emit_time[method-2]
-2%
58.8 µs
59.7 µs
test_connect_time[function-]
tests/test_bench.py::test_connect_time[function-]
-2%
139.9 µs
142.2 µs
test_evented_setattr
tests/test_bench.py::test_evented_setattr
-9%
25.5 µs
28 µs
test_dataclass_group_create[msgspec]Regression
tests/test_bench.py::test_dataclass_group_create[msgspec]
-10%
622 µs
694.6 µs
test_dataclass_group_create[attrs]Regression
tests/test_bench.py::test_dataclass_group_create[attrs]
-14%
614.4 µs
711 µs
test_dataclass_group_create[dataclass]Regression
tests/test_bench.py::test_dataclass_group_create[dataclass]
-14%
526.8 µs
612.1 µs
test_dataclass_group_create[pydantic]Regression
tests/test_bench.py::test_dataclass_group_create[pydantic]
-20%
613.8 µs
767.7 µs

Commits

Click on a commit to change the comparison range
base
main
94d0a67
-74%
style(pre-commit.ci): auto fixes [...]
315a3aa
9 months ago
by pre-commit-ci[bot]
0%
Merge branch 'new-signal-group' of https://github.com/tlambert03/psygnal into new-signal-group
80d7393
9 months ago
by tlambert03
0%
don't use mutable mapping
2d8920a
9 months ago
by tlambert03
0%
Merge branch 'main' into new-signal-group
a64ac84
9 months ago
by tlambert03
0%
fix: hacky fix tests
07afe29
9 months ago
by tlambert03
0%
Merge branch 'main' into new-signal-group
3697b52
9 months ago
by tlambert03
0%
replace old graoup
367e46b
9 months ago
by tlambert03
0%
undo change
a78d9d6
9 months ago
by tlambert03
+53%
test: fix warning in test_bench
8b29145
9 months ago
by tlambert03
0%
fix: revert event_names change
77e11ec
9 months ago
by tlambert03
0%
Merge branch 'main' into new-signal-group
e83edeb
8 months ago
by tlambert03
0%
Merge branch 'main' into new-signal-group
144cf6d
8 months ago
by tlambert03
-1%
Merge branch 'main' into new-signal-group
8eab8af
8 months ago
by tlambert03
0%
refactor: use dict methods
8037e8a
8 months ago
by tlambert03
0%
refactor: add explicit line to getattr and contains
2509648
8 months ago
by tlambert03
-1%
feat: use name all permanently
47bf3ae
8 months ago
by tlambert03
+2%
refactor: change attr error strategy
837b260
8 months ago
by tlambert03
0%
test: add test
6d78c8f
8 months ago
by tlambert03
0%
fix: change setattr strategy
61b0ef8
8 months ago
by tlambert03
0%
refactor: pragma
5b67dc0
8 months ago
by tlambert03
0%
feat: add conflicts warning
60b73d0
8 months ago
by tlambert03
0%
test: more tests and warnings
6d49dfc
8 months ago
by tlambert03
0%
test: more tests and deprecations
ff0bae7
8 months ago
by tlambert03
0%
test: split test
6dd25bb
8 months ago
by tlambert03
0%
test: add field
dbbd2fa
8 months ago
by tlambert03
ResourcesHomePricingDocsBlogGitHubChangelog
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.