BlogDocs

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

Merged
Merging
smallnine9:main
into
minor
-68%
IMPROVEMENTS
7
REGRESSIONS
17
UNTOUCHED
29
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Failing

1000 refs, 1 computedRegression
packages/reactivity/__tests__/computed.bench.ts::computed::1000 refs, 1 computed
-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)
-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)
-11%
34.2 µs
38.3 µs
write ref, read computedRegression
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, read computed
-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
-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
-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
-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
-14%
88.8 µs
103.4 µs
reduce *reactive* array, 1000 elementsRegression
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 1000 elements
-13%
21.8 ms
25 ms
write reactive map propertyRegression
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map property
-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)
-68%
352 µs
1,115.9 µs
1000 reactive objs, 1 computedRegression
packages/reactivity/__tests__/reactiveObject.bench.ts::1000 reactive objs, 1 computed
-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)
-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)
-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
-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)
-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)
-16%
356.7 µs
425.6 µs

Passing

create computed
packages/reactivity/__tests__/computed.bench.ts::computed::create computed
+4%
25.7 µs
24.7 µs
write independent ref dep
packages/reactivity/__tests__/computed.bench.ts::computed::write independent ref dep
0%
33.8 µs
33.7 µs
write ref, don't read computed (invoked)
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, don't read computed (invoked)
-5%
60.3 µs
63.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)
+2%
33.7 µs
33 µs
write ref, read 1000 computeds
packages/reactivity/__tests__/computed.bench.ts::computed::write ref, read 1000 computeds
+6%
5.7 ms
5.3 ms
reduce *raw* array, copied, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, copied, 100 elements
+16%
114.2 µs
98.5 µs
reduce *raw* array, manually triggered, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *raw* array, manually triggered, 1000 elements
-6%
220.4 µs
233.4 µs
reduce *reactive* array, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 10 elements
+21%
1,034 µs
856.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
-4%
191.2 µs
198.5 µs
reduce *reactive* array, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *reactive* array, 100 elements
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
-1%
737.1 µs
747.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
-4%
6.2 ms
6.5 ms
reduce *readonly* array, 10 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 10 elements
+49%
454.2 µs
304.1 µs
reduce *readonly* array, 100 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 100 elements
+4%
1.3 ms
1.3 ms
reduce *readonly* array, 1000 elements
packages/reactivity/__tests__/reactiveArray.bench.ts::reduce *readonly* array, 1000 elements
+66%
19.4 ms
11.7 ms
1000 reactive maps, 1 computed
packages/reactivity/__tests__/reactiveMap.bench.ts::1000 reactive maps, 1 computed
0%
5.9 ms
5.9 ms
create reactive map
packages/reactivity/__tests__/reactiveMap.bench.ts::create reactive map
+4%
39.7 µs
38.1 µs
write reactive map (10'000 items), read computed
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map (10'000 items), read computed
+12%
7.8 ms
6.9 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)
+8%
48.3 µs
44.6 µs
write reactive map, don't read computed (invoked)
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, don't read computed (invoked)
-5%
77.8 µs
81.7 µ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)
+10%
40.4 µs
36.7 µs
write reactive map, read 1000 computeds
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, read 1000 computeds
+8%
10.3 ms
9.5 ms
write reactive map, read computed
packages/reactivity/__tests__/reactiveMap.bench.ts::write reactive map, read computed
-10%
120 µs
133.2 µs
create reactive obj
packages/reactivity/__tests__/reactiveObject.bench.ts::create reactive obj
+4%
34.6 µs
33.3 µs
write reactive obj property
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj property
+2%
53.7 µs
52.8 µs
write reactive obj, don't read computed (invoked)
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, don't read computed (invoked)
+3%
90.8 µs
87.9 µ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)
+2%
53.2 µs
52.1 µs
write reactive obj, read computed
packages/reactivity/__tests__/reactiveObject.bench.ts::write reactive obj, read computed
-4%
127.1 µs
132.7 µs
create ref
packages/reactivity/__tests__/ref.bench.ts::ref::create ref
+7%
27.6 µs
25.9 µs
read ref
packages/reactivity/__tests__/ref.bench.ts::ref::read ref
+3%
15.5 µs
15 µs
write ref
packages/reactivity/__tests__/ref.bench.ts::ref::write ref
+8%
53.9 µs
50 µs
write/read ref
packages/reactivity/__tests__/ref.bench.ts::ref::write/read ref
+31%
61.5 µs
47.1 µs
create watchEffect
packages/runtime-core/__tests__/apiWatch.bench.ts::create watchEffect
+5%
61 µs
58.3 µs
create watcher
packages/runtime-core/__tests__/apiWatch.bench.ts::create watcher
+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)
+9%
124.6 µs
114.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)
-9%
121.5 µs
133.8 µs

Commits

Click on a commit to change the comparison range
base
minor
a625376
-68%
Merge branch 'main' into main
9b63921
6 months ago by yyx990803
ResourcesHomePricingDocsBlogGitHub
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.