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

Merged
Merging
smallnine9:main
into
minor
-79%
IMPROVEMENTS
11
REGRESSIONS
15
UNTOUCHED
27
NEW
0
DROPPED
0

Benchmarks

Failing

1000 refs, 1 computed
Regression
packages/reactivity/__tests__/computed.bench.ts::computed::1000 refs, 1 computed
-36%
9.3 ms
14.7 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)
-62%
1.3 ms
3.4 ms
write ref, don't read computed (invoked)
Regression
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, don't read computed (invoked)
-12%
106.7 µs
121.9 µs
write ref, read computed
Regression
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, read computed
-25%
214.4 µs
285.4 µs
reduce *raw* array, copied, 10 elements
Regression
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, copied, 10 elements
-36%
240.8 µs
378.4 µs
reduce *raw* array, manually triggered, 10 elements
Regression
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, manually triggered, 10 elements
-72%
321.8 µs
1,162.5 µs
reduce *raw* array, manually triggered, 100 elements
Regression
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, manually triggered, 100 elements
-19%
234.4 µs
288.7 µs
write reactive map property
Regression
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map property
-18%
70.1 µs
85.7 µ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)
-72%
1.3 ms
4.9 ms
1000 reactive objs, 1 computed
Regression
packages/reactivity/__tests__/reactiveObject.bench.ts::1000 reactive objs, 1 computed
-16%
20.1 ms
24.1 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)
-59%
1.4 ms
3.4 ms
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)
-13%
107.6 µs
123 µs
write reactive obj, read 1000 computeds
Regression
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, read 1000 computeds
-38%
42.5 ms
68.6 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)
-79%
249.9 µs
1,189 µs
update ref to trigger watcher (executed)
Regression
packages/runtime-core/__tests__/apiWatch.bench.ts::update ref to trigger watcher (executed)
-20%
1.3 ms
1.6 ms

Passing

create computed
packages/reactivity/__tests__/computed.bench.ts::computed::create computed
+6%
39.9 µs
37.7 µs
write independent ref dep
packages/reactivity/__tests__/computed.bench.ts::computed::write independent ref dep
+2%
56.6 µs
55.5 µ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)
-9%
56.3 µs
62.2 µs
write ref, don't read computed (never invoked)
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, don't read computed (never invoked)
+4%
56.1 µs
54.1 µs
write ref, read 1000 computeds
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, read 1000 computeds
+5%
31 ms
29.7 ms
reduce *raw* array, copied, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, copied, 100 elements
+26%
312.5 µs
247.9 µs
reduce *raw* array, copied, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, copied, 1000 elements
-8%
872.2 µs
952.6 µs
reduce *raw* array, manually triggered, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, manually triggered, 1000 elements
-2%
1.1 ms
1.1 ms
reduce *reactive* array, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 10 elements
+25%
4.3 ms
3.5 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
-4%
630.9 µs
656.6 µs
reduce *reactive* array, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 100 elements
0%
11.7 ms
11.7 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
-5%
3.6 ms
3.8 ms
reduce *reactive* array, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 1000 elements
-10%
111.4 ms
123.2 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
-7%
32.9 ms
35.4 ms
reduce *readonly* array, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 10 elements
+36%
1.5 ms
1.1 ms
reduce *readonly* array, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 100 elements
-2%
6.6 ms
6.7 ms
reduce *readonly* array, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 1000 elements
+49%
95.1 ms
64 ms
1000 reactive maps, 1 computed
packages/reactivity/__tests__/reactiveMap.bench.ts::1000 reactive maps, 1 computed
-4%
30.3 ms
31.7 ms
create reactive map
packages/reactivity/__tests__/reactiveMap.bench.ts::create reactive map
+6%
60.7 µs
57.4 µs
write reactive map (10'000 items), read computed
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map (10'000 items), read computed
+12%
45.3 ms
40.4 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)
+11%
84.8 µs
76.5 µs
write reactive map, don't read computed (invoked)
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, don't read computed (invoked)
-7%
166.3 µs
178 µ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)
+13%
70.2 µs
61.9 µs
write reactive map, read 1000 computeds
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, read 1000 computeds
+9%
52.7 ms
48.6 ms
write reactive map, read computed
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, read computed
-9%
277.5 µs
303.3 µs
create reactive obj
packages/reactivity/__tests__/reactiveObject.bench.ts::create reactive obj
+6%
52.7 µs
49.9 µs
write reactive obj property
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj property
+3%
96.7 µs
93.9 µs
write reactive obj, don't read computed (invoked)
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, don't read computed (invoked)
+2%
192.3 µs
189.2 µ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)
+3%
95.8 µs
92.6 µs
write reactive obj, read computed
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, read computed
-4%
285.6 µs
297.6 µs
create ref
packages/reactivity/__tests__/ref.bench.ts::ref::create ref
+6%
43.9 µs
41.5 µs
read ref
packages/reactivity/__tests__/ref.bench.ts::ref::read ref
+3%
22.7 µs
22 µs
write ref
packages/reactivity/__tests__/ref.bench.ts::ref::write ref
+15%
102 µs
89 µs
write/read ref
packages/reactivity/__tests__/ref.bench.ts::ref::write/read ref
+39%
123.4 µs
89 µs
create watchEffect
packages/runtime-core/__tests__/apiWatch.bench.ts::create watchEffect
+8%
115.2 µs
106.9 µs
create watcher
packages/runtime-core/__tests__/apiWatch.bench.ts::create watcher
+12%
254 µs
226.4 µs
update ref to trigger watchEffect (executed)
packages/runtime-core/__tests__/apiWatch.bench.ts::update ref to trigger watchEffect (executed)
+14%
265.8 µs
233.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)
-10%
268.3 µs
296.8 µs

Commits

Click on a commit to change the comparison range
No baseline data is yet availableOnce your main branch has generated a first performance report, you will see the list of commits and their performance impact here.
ResourcesHomePricingDocsBlogGitHub
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.