gadget-inc / mobx-quick-tree

A mirror of the mobx-state-tree API that supports creating a fast, non-reactive, read-only tree
MIT License
15 stars 2 forks source link

Run node v22 in dev and CI #99

Closed airhorns closed 4 months ago

airhorns commented 4 months ago

This upgrades the dev environment for MQT to node v22 from node v21. According to codspeed at least, the v8 upgrade buys at least 10% better performance across the board!

codspeed-hq[bot] commented 4 months ago

CodSpeed Performance Report

Merging #99 will improve performances by 13.81%

Comparing node-22 (f1f22a0) with main (0ebab7f)

Summary

⚡ 9 improvements

Benchmarks breakdown

Benchmark main node-22 Change
instantiating a large union 86.2 µs 52 µs +65.79%
mobx-quick-tree ClassModel 52.6 µs 40 µs +31.48%
instantiating a diverse root 63.4 µs 47.3 µs +33.97%
instantiating a large root 3.7 ms 2.6 ms +44.07%
instantiating a small root 29 µs 21.5 µs +34.72%
accessing memoized getter properties of a class model 14.6 µs 11.4 µs +28.85%
accessing memoized null property of a class model 24.6 µs 19.4 µs +26.59%
accessing unmemoized getter properties of a class model 20.5 µs 16.3 µs +25.92%
accessing unmemoized null property of a class model 14.9 µs 13 µs +13.81%