$ pnpm bench
- Configurable dependency graph: graph shape, density, read rate are all adjustable
- Easily add new benchmarks and frameworks
- Supports dynamic reactive nodes
- Framework agnostic. Simple API to test new reactive frameworks
- Forces garbage collection between each test
- Outputs a csv file for easy integration with other tools
Current reactivity benchmarks (S.js, CellX) are focused on creation time, and update time for a static graph. Additionally, existing benchmarks aren't very configurable, and don't test for dynamic dependencies. We've created a new benchmark that allows library authors to compare their frameworks against each other, and against the existing benchmarks, as well as against a new configurable benchmark with dynamically changing sources.
We're also working on enabling consistent logging and efficient tracking of GC time across all benchmarks.
- Angular Signals
- Compostate
- Kairo
- MobX
- mol wire
- Oby
- Preact Signals
- Reactively
- S.js
- Signia
- Solid
- Svelte v5
- TC39 Signals Proposal polyfill
- uSignal
- Valtio
- Vue Reactivity
- x-reactivity
These results were last updated September 2024 on an M3 Macbook Pro using Node.js v22.4.1.