BlogDocs

perf: Fixing performance of evented set(#275)

Merged
Comparing
Czaki:speedup_evented_set
(
0ab5fc5
) with
main
(
459828c
)
+11%
IMPROVEMENTS
1
REGRESSIONS
0
UNTOUCHED
65
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Improved

test_create_signal
tests/test_bench.py::test_create_signal
+11%
75.2 µs
67.7 µs

Passed

test_create_signal_instance
tests/test_bench.py::test_create_signal_instance
+2%
25.2 µs
24.7 µs
test_emit_time[function-2]
tests/test_bench.py::test_emit_time[function-2]
+1%
61.6 µs
60.7 µs
test_connect_time[setitem-check_types]
tests/test_bench.py::test_connect_time[setitem-check_types]
+1%
68.7 µs
67.9 µs
test_connect_time[setattr-check_types]
tests/test_bench.py::test_connect_time[setattr-check_types]
+1%
69.7 µs
69.2 µs
test_emit_time[print-50]
tests/test_bench.py::test_emit_time[print-50]
+1%
368.2 µs
365.8 µs
test_emit_time[print-18]
tests/test_bench.py::test_emit_time[print-18]
0%
173.8 µs
173 µs
test_emit_time[partial-50]
tests/test_bench.py::test_emit_time[partial-50]
0%
124.2 µs
123.7 µs
test_emit_time[print-34]
tests/test_bench.py::test_emit_time[print-34]
0%
270.1 µs
269.4 µs
test_emit_time[real_func-18]
tests/test_bench.py::test_emit_time[real_func-18]
0%
96.7 µs
96.4 µs
test_emit_time[method-34]
tests/test_bench.py::test_emit_time[method-34]
0%
101.1 µs
100.8 µs
test_emit_time[partial-34]
tests/test_bench.py::test_emit_time[partial-34]
0%
103.7 µs
103.5 µs
test_emit_time[lambda-34]
tests/test_bench.py::test_emit_time[lambda-34]
0%
83.2 µs
83.1 µs
test_evented_creation
tests/test_bench.py::test_evented_creation
0%
1.7 ms
1.7 ms
test_dataclass_setattr[attrs]
tests/test_bench.py::test_dataclass_setattr[attrs]
0%
761.6 µs
760.6 µs
test_emit_time[lambda-18]
tests/test_bench.py::test_emit_time[lambda-18]
0%
68.9 µs
68.8 µs
test_emit_time[function-18]
tests/test_bench.py::test_emit_time[function-18]
0%
69.1 µs
69 µs
test_emit_time[partial-2]
tests/test_bench.py::test_emit_time[partial-2]
0%
57.3 µs
57.2 µs
test_emit_time[setattr-18]
tests/test_bench.py::test_emit_time[setattr-18]
0%
60 µs
60 µs
test_emit_time[method-18]
tests/test_bench.py::test_emit_time[method-18]
0%
79.8 µs
79.8 µs
test_emit_time[method-2]
tests/test_bench.py::test_emit_time[method-2]
0%
59.4 µs
59.4 µs
test_emit_time[setattr-34]
tests/test_bench.py::test_emit_time[setattr-34]
0%
67.2 µs
67.2 µs
test_emit_time[method-50]
tests/test_bench.py::test_emit_time[method-50]
0%
121.7 µs
121.7 µs
test_emit_time[partial_method-2]
tests/test_bench.py::test_emit_time[partial_method-2]
0%
60.9 µs
61 µs
test_emit_time[function-34]
tests/test_bench.py::test_emit_time[function-34]
0%
83 µs
83.1 µs
test_emit_time[real_func-50]
tests/test_bench.py::test_emit_time[real_func-50]
0%
162.4 µs
162.6 µs
test_dataclass_group_create[attrs]
tests/test_bench.py::test_dataclass_group_create[attrs]
0%
713.9 µs
714.7 µs
test_emit_time[partial_method-34]
tests/test_bench.py::test_emit_time[partial_method-34]
0%
120.7 µs
120.8 µs
test_emit_time[partial-18]
tests/test_bench.py::test_emit_time[partial-18]
0%
81.5 µs
81.6 µs
test_emit_time[print-2]
tests/test_bench.py::test_emit_time[print-2]
0%
82.8 µs
82.9 µs
test_dataclass_group_create[pydantic]
tests/test_bench.py::test_dataclass_group_create[pydantic]
0%
767.6 µs
768.9 µs
test_emit_time[setattr-50]
tests/test_bench.py::test_emit_time[setattr-50]
0%
73.7 µs
73.9 µs
test_emit_time[function-50]
tests/test_bench.py::test_emit_time[function-50]
0%
96.8 µs
96.9 µs
test_emit_time[setitem-18]
tests/test_bench.py::test_emit_time[setitem-18]
0%
66.7 µs
66.9 µs
test_emit_time[lambda-50]
tests/test_bench.py::test_emit_time[lambda-50]
0%
96.8 µs
97.1 µs
test_dataclass_group_create[msgspec]
tests/test_bench.py::test_dataclass_group_create[msgspec]
0%
695.8 µs
697.4 µs
test_evented_setattr
tests/test_bench.py::test_evented_setattr
0%
28 µs
28.1 µs
test_emit_time[setitem-2]
tests/test_bench.py::test_emit_time[setitem-2]
0%
55.1 µs
55.3 µs
test_dataclass_setattr[pydantic]
tests/test_bench.py::test_dataclass_setattr[pydantic]
0%
847.4 µs
850.5 µs
test_emit_time[setattr-2]
tests/test_bench.py::test_emit_time[setattr-2]
0%
53.1 µs
53.3 µs
test_connect_time[function-check_types]
tests/test_bench.py::test_connect_time[function-check_types]
0%
155.1 µs
155.7 µs
test_emit_time[partial_method-50]
tests/test_bench.py::test_emit_time[partial_method-50]
0%
151.4 µs
152 µs
test_emit_time[lambda-2]
tests/test_bench.py::test_emit_time[lambda-2]
0%
55.2 µs
55.4 µs
test_connect_time[setitem-]
tests/test_bench.py::test_connect_time[setitem-]
0%
63.4 µs
63.7 µs
test_connect_time[partial-check_types]
tests/test_bench.py::test_connect_time[partial-check_types]
-1%
254.6 µs
255.9 µs
test_dataclass_setattr[msgspec]
tests/test_bench.py::test_dataclass_setattr[msgspec]
-1%
755.7 µs
759.8 µs
test_dataclass_group_create[dataclass]
tests/test_bench.py::test_dataclass_group_create[dataclass]
-1%
611 µs
614.3 µs
test_connect_time[setattr-]
tests/test_bench.py::test_connect_time[setattr-]
-1%
62.7 µs
63.1 µs
test_emit_time[setitem-34]
tests/test_bench.py::test_emit_time[setitem-34]
-1%
78.7 µs
79.2 µs
test_emit_time[setitem-50]
tests/test_bench.py::test_emit_time[setitem-50]
-1%
91 µs
91.6 µs
test_dataclass_setattr[dataclass]
tests/test_bench.py::test_dataclass_setattr[dataclass]
-1%
738.3 µs
742.9 µs
test_connect_time[partial_method-check_types]
tests/test_bench.py::test_connect_time[partial_method-check_types]
-1%
279.9 µs
281.8 µs
test_emit_time[real_func-34]
tests/test_bench.py::test_emit_time[real_func-34]
-1%
129.4 µs
130.3 µs
test_connect_time[partial_method-]
tests/test_bench.py::test_connect_time[partial_method-]
-1%
273.8 µs
275.7 µs
test_connect_time[partial-]
tests/test_bench.py::test_connect_time[partial-]
-1%
241.3 µs
243.1 µs
test_connect_time[function-]
tests/test_bench.py::test_connect_time[function-]
-1%
139.6 µs
141 µs
test_connect_time[print-check_types]
tests/test_bench.py::test_connect_time[print-check_types]
-1%
201.1 µs
203.3 µs
test_emit_time[partial_method-18]
tests/test_bench.py::test_emit_time[partial_method-18]
-1%
89.9 µs
90.9 µs
test_connect_time[method-check_types]
tests/test_bench.py::test_connect_time[method-check_types]
-1%
183.4 µs
185.5 µs
test_connect_time[method-]
tests/test_bench.py::test_connect_time[method-]
-1%
174.7 µs
176.8 µs
test_connect_time[real_func-check_types]
tests/test_bench.py::test_connect_time[real_func-check_types]
-1%
125.7 µs
127.3 µs
test_connect_time[print-]
tests/test_bench.py::test_connect_time[print-]
-1%
144.3 µs
146.3 µs
test_connect_time[lambda-]
tests/test_bench.py::test_connect_time[lambda-]
-1%
140.7 µs
142.7 µs
test_connect_time[real_func-]
tests/test_bench.py::test_connect_time[real_func-]
-2%
122.1 µs
124.3 µs
test_connect_time[lambda-check_types]
tests/test_bench.py::test_connect_time[lambda-check_types]
-3%
143 µs
146.9 µs
test_emit_time[real_func-2]
tests/test_bench.py::test_emit_time[real_func-2]
-4%
62 µs
64.7 µs

Commits

Click on a commit to change the comparison range
base
main
459828c
0%
allow to provide combiner function that could consume whole list
ea98ef8
8 months ago
by Czaki
-1%
fix tests
d61ea51
8 months ago
by Czaki
+1%
style(pre-commit.ci): auto fixes [...]
a2ebf63
8 months ago
by pre-commit-ci[bot]
0%
fix type annotation
079496c
8 months ago
by Czaki
0%
increase set size
fab8508
8 months ago
by Czaki
+1%
icrease set size
d1e404c
8 months ago
by Czaki
-1%
remove clause looking obsolete
7286171
8 months ago
by Czaki
-10%
chore: fix typing
d2898e1
8 months ago
by tlambert03
+11%
Apply suggestions from code review Co-authored-by: Talley Lambert <talley.lambert@gmail.com>
a11332b
8 months ago
by Czaki
-1%
remove unused import
42b8e8c
8 months ago
by Czaki
0%
covert tuple into Tuple
b82ebf1
8 months ago
by Czaki
+1%
chore: Merge branch 'speedup_evented_set' of https://github.com/czaki/psygnal into speedup_evented_set
05e1462
8 months ago
by tlambert03
+12%
perf: undo evented model change
f775384
8 months ago
by tlambert03
-1%
docs: update docs
0ab5fc5
8 months ago
by tlambert03
ResourcesHomePricingDocsBlogGitHubChangelog
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.