Avatar for the vuejs user
vuejs
core
BlogDocsChangelog

fix(reactivity): fix shallowReactive map "unwraps" the nested refs

#8502Closed
Comparing
Alfred-Skyblue:fix-shallowReactive
(
baaf820
) with
main
(
9fa8241
)
CodSpeed Performance Gauge
-27%
Improvements
0
Regressions
1
Untouched
52
New
0
Dropped
0
Ignored
0

Benchmarks

Failed

write reactive map, don't read 1000 computeds (never invoked)Regression
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, don't read 1000 computeds (never invoked)
CodSpeed Performance Gauge
-27%
44.8 µs
61.6 µs

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)
CodSpeed Performance Gauge
+2%
341 µs
334.6 µs
update ref to trigger watcher (executed)
packages/runtime-core/__tests__/apiWatch.bench.ts::update ref to trigger watcher (executed)
CodSpeed Performance Gauge
+2%
431.2 µs
424.7 µs
create watchEffect
packages/runtime-core/__tests__/apiWatch.bench.ts::create watchEffect
CodSpeed Performance Gauge
+1%
59.1 µs
58.8 µs
reduce *reactive* array, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 10 elements
CodSpeed Performance Gauge
0%
857 µs
853 µs
create reactive map
packages/reactivity/__tests__/reactiveMap.bench.ts::create reactive map
CodSpeed Performance Gauge
0%
38.2 µs
38.1 µs
read ref
packages/reactivity/__tests__/ref.bench.ts::ref::read ref
CodSpeed Performance Gauge
0%
15 µs
14.9 µs
write ref
packages/reactivity/__tests__/ref.bench.ts::ref::write ref
CodSpeed Performance Gauge
0%
50.1 µs
50 µs
reduce *raw* array, manually triggered, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, manually triggered, 100 elements
CodSpeed Performance Gauge
0%
103.8 µs
103.7 µs
update ref to trigger watchEffect (executed)
packages/runtime-core/__tests__/apiWatch.bench.ts::update ref to trigger watchEffect (executed)
CodSpeed Performance Gauge
0%
114.6 µs
114.6 µs
write/read ref
packages/reactivity/__tests__/ref.bench.ts::ref::write/read ref
CodSpeed Performance Gauge
0%
47.2 µs
47.2 µ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)
CodSpeed Performance Gauge
0%
134.1 µs
134 µs
write ref, read computed
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, read computed
CodSpeed Performance Gauge
0%
120.9 µs
120.9 µs
create ref
packages/reactivity/__tests__/ref.bench.ts::ref::create ref
CodSpeed Performance Gauge
0%
26 µs
26 µs
write ref, don't read 1000 computeds (invoked)
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, don't read 1000 computeds (invoked)
CodSpeed Performance Gauge
0%
780.5 µs
780.4 µs
write reactive map (10'000 items), read computed
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map (10'000 items), read computed
CodSpeed Performance Gauge
0%
6.9 ms
6.9 ms
reduce *raw* array, manually triggered, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, manually triggered, 1000 elements
CodSpeed Performance Gauge
0%
233.7 µs
233.8 µs
create watcher
packages/runtime-core/__tests__/apiWatch.bench.ts::create watcher
CodSpeed Performance Gauge
0%
111.5 µs
111.5 µs
write ref, don't read computed (invoked)
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, don't read computed (invoked)
CodSpeed Performance Gauge
0%
63.1 µs
63.2 µs
write reactive obj, read 1000 computeds
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, read 1000 computeds
CodSpeed Performance Gauge
0%
14.5 ms
14.5 ms
reduce *raw* array, copied, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, copied, 1000 elements
CodSpeed Performance Gauge
0%
224.8 µs
225 µs
reduce *raw* array, copied, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, copied, 100 elements
CodSpeed Performance Gauge
0%
98.8 µs
98.9 µs
write reactive obj, read computed
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, read computed
CodSpeed Performance Gauge
0%
132.9 µs
133 µs
write reactive obj, don't read 1000 computeds (invoked)
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, don't read 1000 computeds (invoked)
CodSpeed Performance Gauge
0%
803.4 µs
804.1 µs
reduce *readonly* array, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 1000 elements
CodSpeed Performance Gauge
0%
11.7 ms
11.7 ms
1000 reactive objs, 1 computed
packages/reactivity/__tests__/reactiveObject.bench.ts::1000 reactive objs, 1 computed
CodSpeed Performance Gauge
0%
4.4 ms
4.4 ms
reduce *raw* array, copied, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, copied, 10 elements
CodSpeed Performance Gauge
0%
174.3 µs
174.6 µs
create reactive obj
packages/reactivity/__tests__/reactiveObject.bench.ts::create reactive obj
CodSpeed Performance Gauge
0%
33.3 µs
33.4 µ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)
CodSpeed Performance Gauge
0%
68.4 µs
68.5 µs
reduce *raw* array, manually triggered, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, manually triggered, 10 elements
CodSpeed Performance Gauge
0%
323.9 µs
324.5 µ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)
CodSpeed Performance Gauge
0%
1.1 ms
1.1 ms
reduce *reactive* array, 1000 elements, only change first value
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 1000 elements, only change first value
CodSpeed Performance Gauge
0%
6.4 ms
6.4 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)
CodSpeed Performance Gauge
0%
38.3 µs
38.4 µs
create computed
packages/reactivity/__tests__/computed.bench.ts::computed::create computed
CodSpeed Performance Gauge
0%
24.7 µs
24.7 µs
reduce *readonly* array, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 10 elements
CodSpeed Performance Gauge
0%
303.2 µs
303.9 µs
write independent ref dep
packages/reactivity/__tests__/computed.bench.ts::computed::write independent ref dep
CodSpeed Performance Gauge
0%
33.8 µs
33.9 µs
write ref, don't read computed (never invoked)
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, don't read computed (never invoked)
CodSpeed Performance Gauge
0%
33 µs
33.1 µs
write ref, read 1000 computeds
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, read 1000 computeds
CodSpeed Performance Gauge
0%
5.3 ms
5.3 ms
write reactive obj property
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj property
CodSpeed Performance Gauge
0%
52.7 µs
52.8 µ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)
CodSpeed Performance Gauge
0%
52.1 µs
52.2 µ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
CodSpeed Performance Gauge
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)
CodSpeed Performance Gauge
0%
87.9 µs
88.2 µs
1000 refs, 1 computed
packages/reactivity/__tests__/computed.bench.ts::computed::1000 refs, 1 computed
CodSpeed Performance Gauge
-1%
2.6 ms
2.6 ms
reduce *reactive* array, 100 elements, only change first value
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 100 elements, only change first value
CodSpeed Performance Gauge
-1%
739.1 µs
743.5 µs
write reactive map, read 1000 computeds
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, read 1000 computeds
CodSpeed Performance Gauge
-1%
9.5 ms
9.6 ms
reduce *readonly* array, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 100 elements
CodSpeed Performance Gauge
-1%
1.3 ms
1.3 ms
reduce *reactive* array, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 100 elements
CodSpeed Performance Gauge
-1%
2.4 ms
2.4 ms
1000 reactive maps, 1 computed
packages/reactivity/__tests__/reactiveMap.bench.ts::1000 reactive maps, 1 computed
CodSpeed Performance Gauge
-1%
5.9 ms
5.9 ms
reduce *reactive* array, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 1000 elements
CodSpeed Performance Gauge
-1%
24.8 ms
25.1 ms
write reactive map, read computed
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, read computed
CodSpeed Performance Gauge
-2%
133.1 µs
136.3 µs
write reactive map, don't read computed (invoked)
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, don't read computed (invoked)
CodSpeed Performance Gauge
-4%
81.9 µs
85.1 µ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)
CodSpeed Performance Gauge
-10%
37 µs
40.9 µs
write reactive map property
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map property
CodSpeed Performance Gauge
-10%
50.5 µs
55.9 µs

Commits

Click on a commit to change the comparison range
Base
main
9fa8241
-27%
Merge branch 'main' into fix-shallowReactive
baaf820
1 year ago
by Alfred-Skyblue
Home Terms PrivacyDocs