BlogDocs

perf: Delay SignalRelay connection to when a callback is connected(#277)

Merged
Comparing
tlambert03:delayed-relay
(
4fdec36
) with
main
(
e9ee496
)
-12%
IMPROVEMENTS
4
REGRESSIONS
1
UNTOUCHED
61
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Improved

test_dataclass_group_create[dataclass]
tests/test_bench.py::test_dataclass_group_create[dataclass]
+71%
612.8 µs
358.3 µs
test_dataclass_group_create[pydantic]
tests/test_bench.py::test_dataclass_group_create[pydantic]
+65%
769.3 µs
466.8 µs
test_dataclass_group_create[attrs]
tests/test_bench.py::test_dataclass_group_create[attrs]
+52%
715.2 µs
469.9 µs
test_dataclass_group_create[msgspec]
tests/test_bench.py::test_dataclass_group_create[msgspec]
+46%
697.8 µs
479.3 µs

Passed

test_evented_creation
tests/test_bench.py::test_evented_creation
+10%
1.7 ms
1.5 ms
test_create_signal
tests/test_bench.py::test_create_signal
+2%
68 µs
66.8 µs
test_create_signal_instance
tests/test_bench.py::test_create_signal_instance
+1%
25.8 µs
25.4 µs
test_evented_setattr
tests/test_bench.py::test_evented_setattr
+1%
28.3 µs
28 µs
test_emit_time[print-50]
tests/test_bench.py::test_emit_time[print-50]
+1%
370.1 µs
367.4 µs
test_emit_time[print-18]
tests/test_bench.py::test_emit_time[print-18]
+1%
174.2 µs
172.9 µs
test_dataclass_setattr[pydantic]
tests/test_bench.py::test_dataclass_setattr[pydantic]
+1%
852.2 µs
847.4 µs
test_emit_time[print-34]
tests/test_bench.py::test_emit_time[print-34]
0%
271.2 µs
270.3 µs
test_connect_time[partial_method-check_types]
tests/test_bench.py::test_connect_time[partial_method-check_types]
0%
281.7 µs
280.9 µs
test_emit_time[lambda-34]
tests/test_bench.py::test_emit_time[lambda-34]
0%
84 µs
83.8 µs
test_dataclass_setattr[dataclass]
tests/test_bench.py::test_dataclass_setattr[dataclass]
0%
740.3 µs
738.8 µs
test_dataclass_setattr[msgspec]
tests/test_bench.py::test_dataclass_setattr[msgspec]
0%
757.8 µs
756.3 µs
test_emit_time[lambda-50]
tests/test_bench.py::test_emit_time[lambda-50]
0%
97.7 µs
97.5 µs
test_connect_time[print-check_types]
tests/test_bench.py::test_connect_time[print-check_types]
0%
202.9 µs
202.6 µs
test_connect_time[partial_method-]
tests/test_bench.py::test_connect_time[partial_method-]
0%
274.9 µs
274.6 µs
test_connect_time[partial-]
tests/test_bench.py::test_connect_time[partial-]
0%
242.4 µs
242.3 µs
test_emit_time[print-2]
tests/test_bench.py::test_emit_time[print-2]
0%
83.2 µs
83.2 µs
test_dataclass_setattr[attrs]
tests/test_bench.py::test_dataclass_setattr[attrs]
0%
759.2 µs
759.1 µs
test_emit_time[function-34]
tests/test_bench.py::test_emit_time[function-34]
0%
83.8 µs
83.8 µs
test_connect_time[function-check_types]
tests/test_bench.py::test_connect_time[function-check_types]
0%
155.7 µs
155.9 µs
test_emit_time[method-50]
tests/test_bench.py::test_emit_time[method-50]
0%
122.4 µs
122.6 µs
test_emit_time[real_func-34]
tests/test_bench.py::test_emit_time[real_func-34]
0%
130.2 µs
130.5 µs
test_connect_time[partial-check_types]
tests/test_bench.py::test_connect_time[partial-check_types]
0%
256.1 µs
256.7 µs
test_emit_time[lambda-18]
tests/test_bench.py::test_emit_time[lambda-18]
0%
69.7 µs
69.8 µs
test_connect_time[lambda-]
tests/test_bench.py::test_connect_time[lambda-]
0%
142.2 µs
142.5 µs
test_emit_time[real_func-50]
tests/test_bench.py::test_emit_time[real_func-50]
0%
163.2 µs
163.6 µs
test_connect_time[method-check_types]
tests/test_bench.py::test_connect_time[method-check_types]
0%
184.4 µs
185.1 µs
test_connect_time[print-]
tests/test_bench.py::test_connect_time[print-]
0%
144.9 µs
145.4 µs
test_connect_time[method-]
tests/test_bench.py::test_connect_time[method-]
0%
175.7 µs
176.3 µs
test_emit_time[real_func-2]
tests/test_bench.py::test_emit_time[real_func-2]
0%
62.7 µs
63 µs
test_emit_time[setattr-50]
tests/test_bench.py::test_emit_time[setattr-50]
0%
74.4 µs
74.7 µs
test_emit_time[method-34]
tests/test_bench.py::test_emit_time[method-34]
0%
101.2 µs
101.7 µs
test_emit_time[setattr-34]
tests/test_bench.py::test_emit_time[setattr-34]
0%
67.2 µs
67.6 µs
test_emit_time[method-18]
tests/test_bench.py::test_emit_time[method-18]
-1%
80.2 µs
80.6 µs
test_connect_time[function-]
tests/test_bench.py::test_connect_time[function-]
-1%
140.3 µs
141.2 µs
test_emit_time[partial-2]
tests/test_bench.py::test_emit_time[partial-2]
-1%
58.1 µs
58.5 µs
test_emit_time[partial_method-2]
tests/test_bench.py::test_emit_time[partial_method-2]
-1%
61.8 µs
62.2 µs
test_emit_time[real_func-18]
tests/test_bench.py::test_emit_time[real_func-18]
-1%
96.9 µs
97.6 µs
test_emit_time[function-50]
tests/test_bench.py::test_emit_time[function-50]
-1%
97.3 µs
98 µs
test_emit_time[partial-34]
tests/test_bench.py::test_emit_time[partial-34]
-1%
104.3 µs
105.1 µs
test_connect_time[real_func-]
tests/test_bench.py::test_connect_time[real_func-]
-1%
123.3 µs
124.2 µs
test_emit_time[partial-50]
tests/test_bench.py::test_emit_time[partial-50]
-1%
125.1 µs
126.2 µs
test_emit_time[partial-18]
tests/test_bench.py::test_emit_time[partial-18]
-1%
81.8 µs
82.6 µs
test_connect_time[real_func-check_types]
tests/test_bench.py::test_connect_time[real_func-check_types]
-1%
126.1 µs
127.2 µs
test_emit_time[setitem-50]
tests/test_bench.py::test_emit_time[setitem-50]
-1%
91.4 µs
92.3 µs
test_emit_time[method-2]
tests/test_bench.py::test_emit_time[method-2]
-1%
59.8 µs
60.4 µs
test_emit_time[setattr-2]
tests/test_bench.py::test_emit_time[setattr-2]
-1%
53.4 µs
53.9 µs
test_emit_time[partial_method-18]
tests/test_bench.py::test_emit_time[partial_method-18]
-1%
90.5 µs
91.6 µs
test_emit_time[function-18]
tests/test_bench.py::test_emit_time[function-18]
-1%
69.5 µs
70.4 µs
test_connect_time[setattr-check_types]
tests/test_bench.py::test_connect_time[setattr-check_types]
-1%
68.7 µs
69.5 µs
test_emit_time[partial_method-50]
tests/test_bench.py::test_emit_time[partial_method-50]
-1%
151.6 µs
153.6 µs
test_emit_time[setitem-34]
tests/test_bench.py::test_emit_time[setitem-34]
-1%
79.1 µs
80.2 µs
test_emit_time[setattr-18]
tests/test_bench.py::test_emit_time[setattr-18]
-1%
60.3 µs
61.2 µs
test_emit_time[setitem-2]
tests/test_bench.py::test_emit_time[setitem-2]
-1%
55.6 µs
56.4 µs
test_emit_time[function-2]
tests/test_bench.py::test_emit_time[function-2]
-1%
61 µs
61.9 µs
test_emit_time[setitem-18]
tests/test_bench.py::test_emit_time[setitem-18]
-1%
67.1 µs
68.1 µs
test_connect_time[setitem-check_types]
tests/test_bench.py::test_connect_time[setitem-check_types]
-2%
67.7 µs
68.7 µs
test_connect_time[lambda-check_types]
tests/test_bench.py::test_connect_time[lambda-check_types]
-2%
144.1 µs
146.6 µs
test_emit_time[partial_method-34]
tests/test_bench.py::test_emit_time[partial_method-34]
-2%
119.9 µs
122.1 µs
test_connect_time[setitem-]
tests/test_bench.py::test_connect_time[setitem-]
-3%
62.7 µs
64.4 µs
test_connect_time[setattr-]
tests/test_bench.py::test_connect_time[setattr-]
-3%
62.3 µs
64.1 µs
test_emit_time[lambda-2]Regression
tests/test_bench.py::test_emit_time[lambda-2]
-12%
55.8 µs
63.1 µs

Commits

Click on a commit to change the comparison range
base
main
e9ee496
+71%
fix: evented model
d504229
8 months ago
by tlambert03
0%
test: add test
910741b
8 months ago
by tlambert03
0%
test: extend test
d82304c
8 months ago
by tlambert03
-83%
test: disconnect relay
4fdec36
8 months ago
by tlambert03
ResourcesHomePricingDocsBlogGitHubChangelog
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.