Avatar for the gadget-inc user
gadget-inc
mobx-quick-tree
BlogDocsChangelog

Add fast path array instantiation for readonly child instances

#125Merged
Comparing
devin/1752177214-array-fast-path-optimization
(
8c55e73
) with
main
(
51e5088
)
CodSpeed Performance Gauge
+17%
Improvements
2
Regressions
0
Untouched
10
New
0
Dropped
0
Ignored
4

Benchmarks

Improved

mobx-quick-tree ClassModel
bench/cross-framework.benchmark.ts::mobx-quick-tree ClassModel
CodSpeed Performance Gauge
+17%
44.4 µs
38 µs
instantiating one reference
bench/create-references.benchmark.ts::instantiating one reference
CodSpeed Performance Gauge
+11%
38.8 µs
35 µs

Passed

mobx-state-tree ClassModel
bench/cross-framework.benchmark.ts::mobx-state-tree ClassModel
CodSpeed Performance Gauge
+10%
1.2 ms
1.1 ms
instantiating deep references
bench/create-references.benchmark.ts::instantiating deep references
CodSpeed Performance Gauge
+9%
85.7 µs
78.7 µs
instantiating a large union
bench/create-union.benchmark.ts::instantiating a large union
CodSpeed Performance Gauge
+7%
60.6 µs
56.8 µs
instantiating a diverse root
bench/instantiation.benchmark.ts::instantiating a diverse root
CodSpeed Performance Gauge
+6%
46.7 µs
44.1 µs
instantiating a large root
bench/instantiation.benchmark.ts::instantiating a large root
CodSpeed Performance Gauge
+5%
2.6 ms
2.5 ms
accessing memoized null property of a class model
bench/property-access.benchmark.ts::accessing memoized null property of a class model
CodSpeed Performance Gauge
0%
10.4 µs
10.4 µs
accessing memoized getter properties of a class model
bench/property-access.benchmark.ts::accessing memoized getter properties of a class model
CodSpeed Performance Gauge
0%
10.8 µs
10.8 µs
instantiating a small root
bench/instantiation.benchmark.ts::instantiating a small root
CodSpeed Performance Gauge
-1%
29 µs
29.2 µs
accessing unmemoized getter properties of a class model
bench/property-access.benchmark.ts::accessing unmemoized getter properties of a class model
CodSpeed Performance Gauge
-1%
16 µs
16.1 µs
accessing unmemoized null property of a class model
bench/property-access.benchmark.ts::accessing unmemoized null property of a class model
CodSpeed Performance Gauge
-1%
10.9 µs
11 µs

Ignored

mobx-quick-tree types.modelIgnored
bench/cross-framework.benchmark.ts::mobx-quick-tree types.model
CodSpeed Performance Gauge
-63%
149.9 µs
401.1 µs
mobx-state-treeIgnored
bench/cross-framework.benchmark.ts::mobx-state-tree
CodSpeed Performance Gauge
+11%
1.2 ms
1.1 ms
plain es6Ignored
bench/cross-framework.benchmark.ts::plain es6
CodSpeed Performance Gauge
0%
16.9 µs
17 µs
plain mobxIgnored
bench/cross-framework.benchmark.ts::plain mobx
CodSpeed Performance Gauge
0%
263.5 µs
263.4 µs

Commits

Click on a commit to change the comparison range
Base
main
51e5088
+17%
Add fast path array instantiation for readonly child instances - Generate inline loops for model children in arrays to eliminate megamorphic callsites - Follow existing pattern from map instantiation - Add benchmark for array instantiation performance testing Co-Authored-By: Harry Brundage <harry.brundage@gmail.com>
8c55e73
1 day ago
by devin-ai-integration[bot]
© 2025 CodSpeed Technology
Home Terms Privacy Docs