Avatar for the vuejs user
vuejs
core
BlogDocsChangelog

fix(runtime-core): Infinite Loop Detection should throw a real error

#7447Merged
Comparing
smallnine9:main
(
9b63921
) with
minor
(
a625376
)
CodSpeed Performance Gauge
-68%
Improvements
7
Regressions
17
Untouched
29

Benchmarks

Failed

write reactive obj, don't read 1000 computeds (invoked)Regression
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, don't read 1000 computeds (invoked)
CodSpeed Performance Gauge
-52%
382.2 µs803.9 µs
write reactive obj, don't read 1000 computeds (never invoked)Regression
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, don't read 1000 computeds (never invoked)
CodSpeed Performance Gauge
-12%
60.3 µs68.4 µs
write reactive obj, read 1000 computedsRegression
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, read 1000 computeds
CodSpeed Performance Gauge
-43%
8.3 ms14.5 ms
1000 reactive objs, 1 computedRegression
packages/reactivity/__tests__/reactiveObject.bench.ts::1000 reactive objs, 1 computed
CodSpeed Performance Gauge
-13%
3.8 ms4.4 ms
reduce *reactive* array, 1000 elementsRegression
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 1000 elements
CodSpeed Performance Gauge
-13%
21.8 ms25 ms
reduce *raw* array, manually triggered, 10 elementsRegression
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, manually triggered, 10 elements
CodSpeed Performance Gauge
-61%
126.6 µs324.4 µs
update ref to trigger watcher (executed)Regression
packages/runtime-core/__tests__/apiWatch.bench.ts::update ref to trigger watcher (executed)
CodSpeed Performance Gauge
-16%
356.7 µs425.6 µs
reduce *raw* array, copied, 1000 elementsRegression
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, copied, 1000 elements
CodSpeed Performance Gauge
-16%
189.6 µs224.7 µs
write reactive map propertyRegression
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map property
CodSpeed Performance Gauge
-20%
40.3 µs50.3 µs
reduce *raw* array, copied, 10 elementsRegression
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, copied, 10 elements
CodSpeed Performance Gauge
-43%
99.8 µs173.9 µs
update ref to trigger watchEffect (scheduled but not executed)Regression
packages/runtime-core/__tests__/apiWatch.bench.ts::update ref to trigger watchEffect (scheduled but not executed)
CodSpeed Performance Gauge
-64%
120.4 µs336.1 µs
write reactive map, don't read 1000 computeds (invoked)Regression
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, don't read 1000 computeds (invoked)
CodSpeed Performance Gauge
-68%
352 µs1,115.9 µs
write ref, read computedRegression
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, read computed
CodSpeed Performance Gauge
-24%
92.6 µs121.2 µs
reduce *raw* array, manually triggered, 100 elementsRegression
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, manually triggered, 100 elements
CodSpeed Performance Gauge
-14%
88.8 µs103.4 µs
1000 refs, 1 computedRegression
packages/reactivity/__tests__/computed.bench.ts::computed::1000 refs, 1 computed
CodSpeed Performance Gauge
-34%
1.7 ms2.6 ms
write ref, don't read 1000 computeds (invoked)Regression
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, don't read 1000 computeds (invoked)
CodSpeed Performance Gauge
-58%
325 µs780.5 µs
write ref, don't read 1000 computeds (never invoked)Regression
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, don't read 1000 computeds (never invoked)
CodSpeed Performance Gauge
-11%
34.2 µs38.3 µs

Improved

reduce *readonly* array, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 1000 elements
CodSpeed Performance Gauge
+66%
19.4 ms11.7 ms
reduce *readonly* array, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 10 elements
CodSpeed Performance Gauge
+49%
454.2 µs304.1 µs
write/read ref
packages/reactivity/__tests__/ref.bench.ts::ref::write/read ref
CodSpeed Performance Gauge
+31%
61.5 µs47.1 µs
reduce *reactive* array, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 10 elements
CodSpeed Performance Gauge
+21%
1,034 µs856.7 µs
reduce *raw* array, copied, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, copied, 100 elements
CodSpeed Performance Gauge
+16%
114.2 µs98.5 µ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
+12%
7.8 ms6.9 ms
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%
40.4 µs36.7 µs

Passed

create watcher
packages/runtime-core/__tests__/apiWatch.bench.ts::create watcher
CodSpeed Performance Gauge
+9%
121.3 µs111.3 µs
update ref to trigger watchEffect (executed)
packages/runtime-core/__tests__/apiWatch.bench.ts::update ref to trigger watchEffect (executed)
CodSpeed Performance Gauge
+9%
124.6 µs114.4 µ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)
CodSpeed Performance Gauge
+8%
48.3 µs44.6 µs
write reactive map, read 1000 computeds
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, read 1000 computeds
CodSpeed Performance Gauge
+8%
10.3 ms9.5 ms
write ref
packages/reactivity/__tests__/ref.bench.ts::ref::write ref
CodSpeed Performance Gauge
+8%
53.9 µs50 µs
create ref
packages/reactivity/__tests__/ref.bench.ts::ref::create ref
CodSpeed Performance Gauge
+7%
27.6 µs25.9 µs
write ref, read 1000 computeds
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, read 1000 computeds
CodSpeed Performance Gauge
+6%
5.7 ms5.3 ms
create watchEffect
packages/runtime-core/__tests__/apiWatch.bench.ts::create watchEffect
CodSpeed Performance Gauge
+5%
61 µs58.3 µs
create reactive map
packages/reactivity/__tests__/reactiveMap.bench.ts::create reactive map
CodSpeed Performance Gauge
+4%
39.7 µs38.1 µs
create computed
packages/reactivity/__tests__/computed.bench.ts::computed::create computed
CodSpeed Performance Gauge
+4%
25.7 µs24.7 µs
create reactive obj
packages/reactivity/__tests__/reactiveObject.bench.ts::create reactive obj
CodSpeed Performance Gauge
+4%
34.6 µs33.3 µs
reduce *readonly* array, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 100 elements
CodSpeed Performance Gauge
+4%
1.3 ms1.3 ms
read ref
packages/reactivity/__tests__/ref.bench.ts::ref::read ref
CodSpeed Performance Gauge
+3%
15.5 µs15 µ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
+3%
90.8 µs87.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
+2%
33.7 µs33 µ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
+2%
53.2 µs52.1 µs
write reactive obj property
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj property
CodSpeed Performance Gauge
+2%
53.7 µs52.8 µs
write independent ref dep
packages/reactivity/__tests__/computed.bench.ts::computed::write independent ref dep
CodSpeed Performance Gauge
0%
33.8 µs33.7 µs
1000 reactive maps, 1 computed
packages/reactivity/__tests__/reactiveMap.bench.ts::1000 reactive maps, 1 computed
CodSpeed Performance Gauge
0%
5.9 ms5.9 ms
reduce *reactive* array, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 100 elements
CodSpeed Performance Gauge
0%
2.4 ms2.4 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%
737.1 µs747.7 µ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
-4%
191.2 µs198.5 µs
write reactive obj, read computed
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, read computed
CodSpeed Performance Gauge
-4%
127.1 µs132.7 µ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
CodSpeed Performance Gauge
-4%
6.2 ms6.5 ms
write ref, don't read computed (invoked)
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, don't read computed (invoked)
CodSpeed Performance Gauge
-5%
60.3 µs63.2 µ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
-5%
77.8 µs81.7 µs
reduce *raw* array, manually triggered, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, manually triggered, 1000 elements
CodSpeed Performance Gauge
-6%
220.4 µs233.4 µ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
-9%
121.5 µs133.8 µs
write reactive map, read computed
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, read computed
CodSpeed Performance Gauge
-10%
120 µs133.2 µs

Commits

Click on a commit to change the comparison range
Base
minor
a625376
-68.46%
Merge branch 'main' into main
9b63921
2 years ago
by yyx990803
© 2025 CodSpeed Technology
Home Terms Privacy Docs