BlogDocs

fix(runtime-dom): cache event handlers by key/modifiers (fix #9849)(#9851)

Merged
Comparing
linusborg/fix-9849
(
ae6b848
) with
main
(
4e7967f
)
0%
IMPROVEMENTS
0
REGRESSIONS
0
UNTOUCHED
53
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Passed

reduce *readonly* array, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 1000 elements
0%
11.8 ms
11.7 ms
reduce *readonly* array, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 100 elements
0%
1.3 ms
1.3 ms
reduce *readonly* array, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 10 elements
0%
305 µs
304 µs
write reactive map, don't read computed (never invoked)
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, don't read computed (never invoked)
0%
36.8 µs
36.7 µs
reduce *reactive* array, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 10 elements
0%
854.3 µs
851.9 µs
reduce *reactive* array, 10 elements, only change first value
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 10 elements, only change first value
0%
198.9 µs
198.5 µs
write reactive map, don't read computed (invoked)
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, don't read computed (invoked)
0%
81.9 µs
81.7 µs
read ref
packages/reactivity/__tests__/ref.bench.ts::ref::read ref
0%
15 µs
15 µs
write reactive map property
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map property
0%
50.5 µs
50.4 µs
reduce *reactive* array, 100 elements, only change first value
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 100 elements, only change first value
0%
748.3 µs
747 µs
write ref, read 1000 computeds
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, read 1000 computeds
0%
5.3 ms
5.3 ms
write reactive map, don't read 1000 computeds (never invoked)
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, don't read 1000 computeds (never invoked)
0%
44.7 µs
44.6 µs
write/read ref
packages/reactivity/__tests__/ref.bench.ts::ref::write/read ref
0%
47.1 µs
47.1 µs
write ref
packages/reactivity/__tests__/ref.bench.ts::ref::write ref
0%
50 µs
49.9 µs
create ref
packages/reactivity/__tests__/ref.bench.ts::ref::create ref
0%
26 µs
26 µs
write reactive map, read computed
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, read computed
0%
133.3 µs
133.2 µs
reduce *reactive* array, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 100 elements
0%
2.4 ms
2.4 ms
update ref to trigger watcher (scheduled but not executed)
packages/runtime-core/__tests__/apiWatch.bench.ts::update ref to trigger watcher (scheduled but not executed)
0%
133.9 µs
133.8 µs
write reactive obj, don't read computed (invoked)
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, don't read computed (invoked)
0%
88.5 µs
88.4 µs
reduce *reactive* array, 1000 elements, only change first value
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 1000 elements, only change first value
0%
6.5 ms
6.5 ms
write reactive map, don't read 1000 computeds (invoked)
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, don't read 1000 computeds (invoked)
0%
1.1 ms
1.1 ms
1000 refs, 1 computed
packages/reactivity/__tests__/computed.bench.ts::computed::1000 refs, 1 computed
0%
2.6 ms
2.6 ms
write reactive map (10'000 items), read computed
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map (10'000 items), read computed
0%
6.9 ms
6.9 ms
write reactive obj, don't read 1000 computeds (invoked)
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, don't read 1000 computeds (invoked)
0%
804.2 µs
804.2 µs
write ref, don't read 1000 computeds (invoked)
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, don't read 1000 computeds (invoked)
0%
780.6 µs
780.7 µs
write reactive obj, read 1000 computeds
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, read 1000 computeds
0%
14.4 ms
14.5 ms
write ref, read computed
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, read computed
0%
121.3 µs
121.4 µs
write ref, don't read computed (invoked)
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, don't read computed (invoked)
0%
63.7 µs
63.7 µs
write reactive map, read 1000 computeds
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, read 1000 computeds
0%
9.5 ms
9.5 ms
1000 reactive maps, 1 computed
packages/reactivity/__tests__/reactiveMap.bench.ts::1000 reactive maps, 1 computed
0%
5.9 ms
5.9 ms
update ref to trigger watchEffect (executed)
packages/runtime-core/__tests__/apiWatch.bench.ts::update ref to trigger watchEffect (executed)
0%
114.3 µs
114.4 µs
write ref, don't read 1000 computeds (never invoked)
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, don't read 1000 computeds (never invoked)
0%
38.3 µs
38.4 µs
write reactive obj, read computed
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, read computed
0%
133.1 µs
133.2 µs
reduce *raw* array, copied, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, copied, 10 elements
0%
174 µs
174.2 µs
1000 reactive objs, 1 computed
packages/reactivity/__tests__/reactiveObject.bench.ts::1000 reactive objs, 1 computed
0%
4.4 ms
4.4 ms
write independent ref dep
packages/reactivity/__tests__/computed.bench.ts::computed::write independent ref dep
0%
33.8 µs
33.8 µs
create reactive obj
packages/reactivity/__tests__/reactiveObject.bench.ts::create reactive obj
0%
33.3 µs
33.3 µs
create computed
packages/reactivity/__tests__/computed.bench.ts::computed::create computed
0%
24.6 µs
24.7 µs
create reactive map
packages/reactivity/__tests__/reactiveMap.bench.ts::create reactive map
0%
38 µs
38.1 µs
write reactive obj property
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj property
0%
52.7 µs
52.8 µs
write reactive obj, don't read 1000 computeds (never invoked)
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, don't read 1000 computeds (never invoked)
0%
68.7 µs
68.8 µs
reduce *raw* array, manually triggered, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, manually triggered, 100 elements
0%
103.3 µs
103.4 µs
write ref, don't read computed (never invoked)
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, don't read computed (never invoked)
0%
33.6 µs
33.7 µs
reduce *raw* array, manually triggered, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, manually triggered, 1000 elements
0%
232.9 µs
233.5 µs
write reactive obj, don't read computed (never invoked)
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, don't read computed (never invoked)
0%
52.6 µs
52.7 µs
reduce *raw* array, copied, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, copied, 1000 elements
0%
224.1 µs
224.7 µs
create watchEffect
packages/runtime-core/__tests__/apiWatch.bench.ts::create watchEffect
0%
58.3 µs
58.5 µs
reduce *raw* array, copied, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, copied, 100 elements
0%
98 µs
98.5 µs
create watcher
packages/runtime-core/__tests__/apiWatch.bench.ts::create watcher
-1%
111.3 µs
112 µs
reduce *reactive* array, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 1000 elements
-1%
24.8 ms
25 ms
reduce *raw* array, manually triggered, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, manually triggered, 10 elements
-1%
322 µs
324.3 µs
update ref to trigger watchEffect (scheduled but not executed)
packages/runtime-core/__tests__/apiWatch.bench.ts::update ref to trigger watchEffect (scheduled but not executed)
-2%
335.1 µs
341 µs
update ref to trigger watcher (executed)
packages/runtime-core/__tests__/apiWatch.bench.ts::update ref to trigger watcher (executed)
-2%
424.3 µs
432.1 µs

Commits

Click on a commit to change the comparison range
base
main
4e7967f
0%
fix(runtime-dom): cache event handlers by key/modifiers (fix #9849)
ae6b848
11 months ago
by LinusBorg
ResourcesHomePricingDocsBlogGitHubChangelog
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.