BlogDocs

perf: Do not use reducer if there is no callback in `SignalInstance.resume`(#278)

Merged
Comparing
Czaki:remove_reducer_call_on_no_slot
(
9ec3f99
) with
main
(
ab5dfc5
)
0%
IMPROVEMENTS
0
REGRESSIONS
0
UNTOUCHED
66
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Passed

test_emit_time[real_func-2]
tests/test_bench.py::test_emit_time[real_func-2]
+3%
64.3 µs
62.2 µs
test_connect_time[setattr-]
tests/test_bench.py::test_connect_time[setattr-]
+2%
63.3 µs
62.2 µs
test_connect_time[function-check_types]
tests/test_bench.py::test_connect_time[function-check_types]
+1%
155.8 µs
154 µs
test_emit_time[setitem-2]
tests/test_bench.py::test_emit_time[setitem-2]
+1%
55.6 µs
55 µs
test_emit_time[partial_method-34]
tests/test_bench.py::test_emit_time[partial_method-34]
+1%
120.8 µs
119.5 µs
test_connect_time[setitem-]
tests/test_bench.py::test_connect_time[setitem-]
+1%
63.8 µs
63.1 µs
test_connect_time[function-]
tests/test_bench.py::test_connect_time[function-]
+1%
140.3 µs
139 µs
test_connect_time[partial-]
tests/test_bench.py::test_connect_time[partial-]
+1%
242.9 µs
240.8 µs
test_emit_time[setitem-18]
tests/test_bench.py::test_emit_time[setitem-18]
+1%
67.6 µs
67.1 µs
test_emit_time[setitem-50]
tests/test_bench.py::test_emit_time[setitem-50]
+1%
91.8 µs
91.3 µs
test_emit_time[real_func-34]
tests/test_bench.py::test_emit_time[real_func-34]
+1%
130.4 µs
129.6 µs
test_emit_time[setattr-2]
tests/test_bench.py::test_emit_time[setattr-2]
+1%
53.4 µs
53.1 µs
test_connect_time[real_func-]
tests/test_bench.py::test_connect_time[real_func-]
+1%
123.3 µs
122.6 µs
test_emit_time[setitem-34]
tests/test_bench.py::test_emit_time[setitem-34]
+1%
79.4 µs
79 µs
test_dataclass_setattr[dataclass]
tests/test_bench.py::test_dataclass_setattr[dataclass]
+1%
741.2 µs
737.4 µs
test_connect_time[partial_method-check_types]
tests/test_bench.py::test_connect_time[partial_method-check_types]
+1%
281.5 µs
280.1 µs
test_connect_time[setitem-check_types]
tests/test_bench.py::test_connect_time[setitem-check_types]
0%
68.7 µs
68.4 µs
test_connect_time[real_func-check_types]
tests/test_bench.py::test_connect_time[real_func-check_types]
0%
126.6 µs
126 µs
test_emit_time[real_func-18]
tests/test_bench.py::test_emit_time[real_func-18]
0%
96.9 µs
96.4 µs
test_connect_time[lambda-]
tests/test_bench.py::test_connect_time[lambda-]
0%
141.5 µs
140.8 µs
test_emit_time[partial-34]
tests/test_bench.py::test_emit_time[partial-34]
0%
103.4 µs
103 µs
test_connect_time[partial_method-]
tests/test_bench.py::test_connect_time[partial_method-]
0%
274.9 µs
274 µs
test_connect_time[print-check_types]
tests/test_bench.py::test_connect_time[print-check_types]
0%
202.5 µs
201.9 µs
test_connect_time[print-]
tests/test_bench.py::test_connect_time[print-]
0%
144.5 µs
144.1 µs
test_dataclass_group_create[attrs]
tests/test_bench.py::test_dataclass_group_create[attrs]
0%
469.2 µs
468 µs
test_connect_time[method-check_types]
tests/test_bench.py::test_connect_time[method-check_types]
0%
184.1 µs
183.7 µs
test_dataclass_setattr[attrs]
tests/test_bench.py::test_dataclass_setattr[attrs]
0%
761.2 µs
759.4 µs
test_emit_time[partial_method-50]
tests/test_bench.py::test_emit_time[partial_method-50]
0%
151.8 µs
151.6 µs
test_connect_time[partial-check_types]
tests/test_bench.py::test_connect_time[partial-check_types]
0%
254.9 µs
254.6 µs
test_connect_time[setattr-check_types]
tests/test_bench.py::test_connect_time[setattr-check_types]
0%
69.7 µs
69.7 µs
test_emit_time[partial-50]
tests/test_bench.py::test_emit_time[partial-50]
0%
125 µs
124.9 µs
test_emit_time[setattr-34]
tests/test_bench.py::test_emit_time[setattr-34]
0%
67 µs
66.9 µs
test_connect_time[method-]
tests/test_bench.py::test_connect_time[method-]
0%
175.5 µs
175.4 µs
test_emit_time[partial_method-2]
tests/test_bench.py::test_emit_time[partial_method-2]
0%
61.3 µs
61.3 µs
test_dataclass_group_create[pydantic]
tests/test_bench.py::test_dataclass_group_create[pydantic]
0%
466.9 µs
466.9 µs
test_dataclass_group_create[msgspec]
tests/test_bench.py::test_dataclass_group_create[msgspec]
0%
478.9 µs
479 µs
test_emit_time[function-2]
tests/test_bench.py::test_emit_time[function-2]
0%
61.1 µs
61.1 µs
test_dataclass_setattr[pydantic]
tests/test_bench.py::test_dataclass_setattr[pydantic]
0%
846.3 µs
847.1 µs
test_emit_time[method-34]
tests/test_bench.py::test_emit_time[method-34]
0%
100.7 µs
100.8 µs
test_dataclass_setattr[msgspec]
tests/test_bench.py::test_dataclass_setattr[msgspec]
0%
757.7 µs
758.7 µs
test_emit_time[function-18]
tests/test_bench.py::test_emit_time[function-18]
0%
69.1 µs
69.2 µs
test_emit_time[method-50]
tests/test_bench.py::test_emit_time[method-50]
0%
121.9 µs
122.1 µs
test_emit_time[method-2]
tests/test_bench.py::test_emit_time[method-2]
0%
59.2 µs
59.3 µs
test_emit_time[setattr-18]
tests/test_bench.py::test_emit_time[setattr-18]
0%
59.7 µs
59.9 µs
test_emit_time[print-18]
tests/test_bench.py::test_emit_time[print-18]
0%
173.3 µs
173.6 µs
test_emit_time[setattr-50]
tests/test_bench.py::test_emit_time[setattr-50]
0%
73.9 µs
74.1 µs
test_emit_time[print-2]
tests/test_bench.py::test_emit_time[print-2]
0%
82.8 µs
83 µs
test_dataclass_group_create[dataclass]
tests/test_bench.py::test_dataclass_group_create[dataclass]
0%
358.2 µs
359.4 µs
test_evented_setattr
tests/test_bench.py::test_evented_setattr
0%
28.1 µs
28.2 µs
test_emit_time[method-18]
tests/test_bench.py::test_emit_time[method-18]
0%
79.9 µs
80.2 µs
test_evented_creation
tests/test_bench.py::test_evented_creation
0%
1.5 ms
1.5 ms
test_emit_time[print-50]
tests/test_bench.py::test_emit_time[print-50]
0%
367.1 µs
368.4 µs
test_emit_time[function-50]
tests/test_bench.py::test_emit_time[function-50]
0%
97.2 µs
97.6 µs
test_emit_time[real_func-50]
tests/test_bench.py::test_emit_time[real_func-50]
0%
162.1 µs
162.7 µs
test_emit_time[print-34]
tests/test_bench.py::test_emit_time[print-34]
0%
269.9 µs
271 µs
test_create_signal
tests/test_bench.py::test_create_signal
0%
74.5 µs
74.8 µs
test_emit_time[partial-18]
tests/test_bench.py::test_emit_time[partial-18]
-1%
81.7 µs
82.2 µs
test_emit_time[function-34]
tests/test_bench.py::test_emit_time[function-34]
-1%
82.9 µs
83.4 µs
test_emit_time[lambda-18]
tests/test_bench.py::test_emit_time[lambda-18]
-1%
69 µs
69.4 µs
test_emit_time[lambda-34]
tests/test_bench.py::test_emit_time[lambda-34]
-1%
82.8 µs
83.4 µs
test_emit_time[partial_method-18]
tests/test_bench.py::test_emit_time[partial_method-18]
-1%
90.2 µs
90.9 µs
test_emit_time[lambda-2]
tests/test_bench.py::test_emit_time[lambda-2]
-1%
55.6 µs
56.5 µs
test_emit_time[partial-2]
tests/test_bench.py::test_emit_time[partial-2]
-1%
57.3 µs
58.2 µs
test_connect_time[lambda-check_types]
tests/test_bench.py::test_connect_time[lambda-check_types]
-2%
143.2 µs
145.5 µs
test_create_signal_instance
tests/test_bench.py::test_create_signal_instance
-2%
25.5 µs
25.9 µs
test_emit_time[lambda-50]
tests/test_bench.py::test_emit_time[lambda-50]
-3%
96.9 µs
99.8 µs

Commits

Click on a commit to change the comparison range
base
main
ab5dfc5
0%
perf: Do not use reducer if there is no callback in `SingalInstance.resume`
8629958
8 months ago
by Czaki
0%
Update src/psygnal/_signal.py Co-authored-by: Talley Lambert <talley.lambert@gmail.com>
9ec3f99
8 months ago
by Czaki
ResourcesHomePricingDocsBlogGitHubChangelog
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.