BlogDocs

refactor: replace typeof with type guard(#8505)

Closed
Comparing
Alfred-Skyblue:chore-general
(
1545396
) with
main
(
9fa8241
)
+88%
IMPROVEMENTS
1
REGRESSIONS
0
UNTOUCHED
52
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Improved

write reactive obj, read 1000 computeds
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, read 1000 computeds
+88%
14.5 ms
7.7 ms

Passed

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%
341 µs
334.5 µs
update ref to trigger watcher (executed)
packages/runtime-core/__tests__/apiWatch.bench.ts::update ref to trigger watcher (executed)
+2%
431.2 µs
424.5 µs
create watchEffect
packages/runtime-core/__tests__/apiWatch.bench.ts::create watchEffect
+1%
59.1 µs
58.4 µ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)
+1%
37 µs
36.7 µs
create reactive map
packages/reactivity/__tests__/reactiveMap.bench.ts::create reactive map
+1%
38.2 µs
38 µs
reduce *reactive* array, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 10 elements
+1%
857 µs
852.4 µs
write independent ref dep
packages/reactivity/__tests__/computed.bench.ts::computed::write independent ref dep
+1%
33.8 µs
33.6 µs
1000 reactive maps, 1 computed
packages/reactivity/__tests__/reactiveMap.bench.ts::1000 reactive maps, 1 computed
+1%
5.9 ms
5.8 ms
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.2 µs
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.8 µs
44.6 µs
reduce *raw* array, manually triggered, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, manually triggered, 10 elements
0%
323.9 µs
322.6 µs
write ref, don't read computed (invoked)
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, don't read computed (invoked)
0%
63.1 µs
62.9 µs
write reactive map, read computed
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, read computed
0%
133.1 µs
132.7 µs
reduce *raw* array, copied, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, copied, 10 elements
0%
174.3 µs
173.8 µs
create watcher
packages/runtime-core/__tests__/apiWatch.bench.ts::create watcher
0%
111.5 µs
111.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
update ref to trigger watchEffect (executed)
packages/runtime-core/__tests__/apiWatch.bench.ts::update ref to trigger watchEffect (executed)
0%
114.6 µs
114.3 µs
write reactive obj property
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj property
0%
52.7 µs
52.5 µs
create computed
packages/reactivity/__tests__/computed.bench.ts::computed::create computed
0%
24.7 µs
24.6 µ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.8 µs
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%
134.1 µs
133.9 µs
write ref, read computed
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, read computed
0%
120.9 µs
120.8 µs
reduce *raw* array, manually triggered, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, manually triggered, 100 elements
0%
103.8 µs
103.6 µs
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
write reactive obj, read computed
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, read computed
0%
132.9 µs
132.8 µs
1000 refs, 1 computed
packages/reactivity/__tests__/computed.bench.ts::computed::1000 refs, 1 computed
0%
2.6 ms
2.6 ms
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.5 µs
780.3 µs
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
reduce *raw* array, copied, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, copied, 100 elements
0%
98.8 µs
98.8 µs
create ref
packages/reactivity/__tests__/ref.bench.ts::ref::create ref
0%
26 µs
26 µs
read ref
packages/reactivity/__tests__/ref.bench.ts::ref::read ref
0%
15 µs
15 µs
write ref
packages/reactivity/__tests__/ref.bench.ts::ref::write ref
0%
50.1 µs
50.1 µs
reduce *raw* array, manually triggered, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, manually triggered, 1000 elements
0%
233.7 µs
233.7 µs
write/read ref
packages/reactivity/__tests__/ref.bench.ts::ref::write/read ref
0%
47.2 µs
47.3 µs
create reactive obj
packages/reactivity/__tests__/reactiveObject.bench.ts::create reactive obj
0%
33.3 µs
33.4 µ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
reduce *raw* array, copied, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, copied, 1000 elements
0%
224.8 µs
225.2 µs
write reactive map property
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map property
0%
50.5 µs
50.6 µ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
reduce *readonly* array, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 10 elements
0%
303.2 µs
304 µs
reduce *readonly* array, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 1000 elements
0%
11.7 ms
11.7 ms
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.2 µs
198.9 µs
write reactive obj, don't read computed (invoked)
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, don't read computed (invoked)
0%
87.9 µs
88.3 µ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
-1%
739.1 µs
743 µ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
-1%
6.4 ms
6.4 ms
reduce *reactive* array, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 100 elements
-1%
2.4 ms
2.4 ms
reduce *readonly* array, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 100 elements
-1%
1.3 ms
1.3 ms
write reactive obj, don't read computed (never invoked)
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, don't read computed (never invoked)
-1%
52.1 µs
52.6 µ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)
-1%
68.4 µs
69.1 µs
write ref, don't read computed (never invoked)
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, don't read computed (never invoked)
-1%
33 µs
33.4 µs
reduce *reactive* array, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 1000 elements
-1%
24.8 ms
25.1 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)
-2%
803.4 µs
820.7 µs

Commits

Click on a commit to change the comparison range
base
main
9fa8241
+88%
Merge branch 'main' into chore-general
1545396
11 months ago
by Alfred-Skyblue
ResourcesHomePricingDocsBlogGitHubChangelog
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.