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
New
0
Dropped
0
Ignored
0

Benchmarks

Failed

1000 refs, 1 computedRegression
packages/reactivity/__tests__/computed.bench.ts::computed::1000 refs, 1 computed
CodSpeed Performance Gauge
-34%
1.7 ms
2.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 µs
780.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 µs
38.3 µs
write ref, read computedRegression
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, read computed
CodSpeed Performance Gauge
-24%
92.6 µs
121.2 µ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 µs
173.9 µ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 µs
224.7 µs
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 µs
324.4 µ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 µs
103.4 µs
reduce *reactive* array, 1000 elementsRegression
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 1000 elements
CodSpeed Performance Gauge
-13%
21.8 ms
25 ms
write reactive map propertyRegression
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map property
CodSpeed Performance Gauge
-20%
40.3 µs
50.3 µ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 µs
1,115.9 µs
1000 reactive objs, 1 computedRegression
packages/reactivity/__tests__/reactiveObject.bench.ts::1000 reactive objs, 1 computed
CodSpeed Performance Gauge
-13%
3.8 ms
4.4 ms
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 µs
803.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 µs
68.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 ms
14.5 ms
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 µs
336.1 µ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 µs
425.6 µs

Improved

reduce *readonly* array, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 1000 elements
CodSpeed Performance Gauge
+66%
19.4 ms
11.7 ms
reduce *readonly* array, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 10 elements
CodSpeed Performance Gauge
+49%
454.2 µs
304.1 µs
write/read ref
packages/reactivity/__tests__/ref.bench.ts::ref::write/read ref
CodSpeed Performance Gauge
+31%
61.5 µs
47.1 µs
reduce *reactive* array, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 10 elements
CodSpeed Performance Gauge
+21%
1,034 µs
856.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 µs
98.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 ms
6.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 µs
36.7 µs

Passed

create watcher
packages/runtime-core/__tests__/apiWatch.bench.ts::create watcher
CodSpeed Performance Gauge
+9%
121.3 µs
111.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 µs
114.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 µs
44.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 ms
9.5 ms
write ref
packages/reactivity/__tests__/ref.bench.ts::ref::write ref
CodSpeed Performance Gauge
+8%
53.9 µs
50 µs
create ref
packages/reactivity/__tests__/ref.bench.ts::ref::create ref
CodSpeed Performance Gauge
+7%
27.6 µs
25.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 ms
5.3 ms
create watchEffect
packages/runtime-core/__tests__/apiWatch.bench.ts::create watchEffect
CodSpeed Performance Gauge
+5%
61 µs
58.3 µs
create reactive map
packages/reactivity/__tests__/reactiveMap.bench.ts::create reactive map
CodSpeed Performance Gauge
+4%
39.7 µs
38.1 µs
create computed
packages/reactivity/__tests__/computed.bench.ts::computed::create computed
CodSpeed Performance Gauge
+4%
25.7 µs
24.7 µs
create reactive obj
packages/reactivity/__tests__/reactiveObject.bench.ts::create reactive obj
CodSpeed Performance Gauge
+4%
34.6 µs
33.3 µs
reduce *readonly* array, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 100 elements
CodSpeed Performance Gauge
+4%
1.3 ms
1.3 ms
read ref
packages/reactivity/__tests__/ref.bench.ts::ref::read ref
CodSpeed Performance Gauge
+3%
15.5 µs
15 µ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 µs
87.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 µs
33 µ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 µs
52.1 µs
write reactive obj property
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj property
CodSpeed Performance Gauge
+2%
53.7 µs
52.8 µs
write independent ref dep
packages/reactivity/__tests__/computed.bench.ts::computed::write independent ref dep
CodSpeed Performance Gauge
0%
33.8 µs
33.7 µs
1000 reactive maps, 1 computed
packages/reactivity/__tests__/reactiveMap.bench.ts::1000 reactive maps, 1 computed
CodSpeed Performance Gauge
0%
5.9 ms
5.9 ms
reduce *reactive* array, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 100 elements
CodSpeed Performance Gauge
0%
2.4 ms
2.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 µs
747.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 µs
198.5 µs
write reactive obj, read computed
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, read computed
CodSpeed Performance Gauge
-4%
127.1 µs
132.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 ms
6.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 µs
63.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 µs
81.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 µs
233.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 µs
133.8 µs
write reactive map, read computed
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, read computed
CodSpeed Performance Gauge
-10%
120 µs
133.2 µs

Commits

Click on a commit to change the comparison range
Base
minor
a625376
-68%
Merge branch 'main' into main
9b63921
1 year ago
by yyx990803
© 2025 CodSpeed Technology
Home Terms PrivacyDocs