Skip to content

Benchmark comparing different standalone JS reactivity / signals frameworks.

Notifications You must be signed in to change notification settings

yc-kanyun/js-reactivity-benchmark

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JS Reactivity Benchmark

$ pnpm bench

Features

  • 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.

Frameworks

Results

Average benchmark results across frameworks (lower times are better)

These results were last updated November 22 2024 on an M3 Macbook Pro using Node.js v22.10.0.

About

Benchmark comparing different standalone JS reactivity / signals frameworks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%