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

Reduce retained memory after read-only instantiation; add LargeRoot memory benchmark

#130Closed
Comparing
devin/1755447623-memory-benchmark-large-root
(
0249de6
) with
main
(
cb4c043
)
CodSpeed Performance Gauge
×4.6
Improvements
1
Regressions
0
Untouched
11
New
0
Dropped
0
Ignored
4

Benchmarks

Improved

instantiating deep references
bench/create-references.benchmark.ts::instantiating deep references
CodSpeed Performance Gauge
×4.6
360.6 µs
79 µs

Passed

instantiating one reference
bench/create-references.benchmark.ts::instantiating one reference
CodSpeed Performance Gauge
+1%
35.1 µs
34.9 µs
instantiating a large union
bench/create-union.benchmark.ts::instantiating a large union
CodSpeed Performance Gauge
+1%
56.9 µs
56.6 µs
mobx-quick-tree ClassModel
bench/cross-framework.benchmark.ts::mobx-quick-tree ClassModel
CodSpeed Performance Gauge
0%
38 µs
37.9 µ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
0%
16.2 µs
16.2 µs
mobx-state-tree ClassModel
bench/cross-framework.benchmark.ts::mobx-state-tree ClassModel
CodSpeed Performance Gauge
0%
1.1 ms
1.1 ms
instantiating a diverse root
bench/instantiation.benchmark.ts::instantiating a diverse root
CodSpeed Performance Gauge
0%
44.1 µs
44.1 µ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.9 µs
10.9 µ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%
11 µs
11.1 µs
accessing memoized null property of a class model
bench/property-access.benchmark.ts::accessing memoized null property of a class model
CodSpeed Performance Gauge
-1%
10.4 µs
10.5 µs
instantiating a small root
bench/instantiation.benchmark.ts::instantiating a small root
CodSpeed Performance Gauge
-2%
28.6 µs
29 µs
instantiating a large root
bench/instantiation.benchmark.ts::instantiating a large root
CodSpeed Performance Gauge
-4%
2.6 ms
2.7 ms

Ignored

mobx-quick-tree types.modelIgnored
bench/cross-framework.benchmark.ts::mobx-quick-tree types.model
CodSpeed Performance Gauge
-2%
150 µs
152.5 µs
mobx-state-treeIgnored
bench/cross-framework.benchmark.ts::mobx-state-tree
CodSpeed Performance Gauge
0%
1.1 ms
1.1 ms
plain es6Ignored
bench/cross-framework.benchmark.ts::plain es6
CodSpeed Performance Gauge
+1%
17 µs
16.8 µs
plain mobxIgnored
bench/cross-framework.benchmark.ts::plain mobx
CodSpeed Performance Gauge
-1%
263.2 µs
266.3 µs

Commits

Click on a commit to change the comparison range
Base
main
cb4c043
-36.03%
bench: make memory benchmark CI-safe (skip heap snapshots under CI/CodSpeed, write artifacts once); exclude from CI bench/all.ts; doc notes Co-Authored-By: Harry Brundage <harry.brundage@gmail.com>
bf2c6cf
20 days ago
by devin-ai-integration[bot]
×4.4
revert: remove runtime changes; keep memory benchmark and docs only Co-Authored-By: Harry Brundage <harry.brundage@gmail.com>
293737a
20 days ago
by devin-ai-integration[bot]
chore(bench): rename LargeRoot memory benchmark to .mem.ts; remove try/catch/logging; restore generator inline comment; remove bench/all.ts CI filter Co-Authored-By: Harry Brundage <harry.brundage@gmail.com>
d052de8
20 days ago
by devin-ai-integration[bot]
×5.5
ci: retrigger CodSpeed; benchmark/docs only; no runtime changes vs main Co-Authored-By: Harry Brundage <harry.brundage@gmail.com>
0249de6
20 days ago
by devin-ai-integration[bot]
© 2025 CodSpeed Technology
Home Terms Privacy Docs