Skip to content

modderme123/js-reactivity-benchmark

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 

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