Skip to content

milomg/js-reactivity-benchmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.
  • Uses v8 intrinsics to warmup and cleanup
  • Tracks garbage collection overhead per 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.

The frameworks are all plenty fast for typical applications. The charts report the run time of the test in milliseconds on an M1 laptop, and are made using Tableau. Typical applications will do much more work than a framework benchmark, and at these speeds the frameworks are unlikely to bottleneck overall performance.

That said, there's learning here to improve performance of all the frameworks.

Performance Results

Raw

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published