Skip to content

Automated performance benchmarks for popular JavaScript libraries including state management, immutability, routing, and CSS frameworks

Notifications You must be signed in to change notification settings

sylphxltd/benchmark

Repository files navigation

🏆 JavaScript Library Benchmarks

Automated performance benchmarks for popular JavaScript libraries

Automated Daily Node.js Vitest MIT License


📊 Benchmark Categories

Category Description Libraries Status View Results
🗃️ State Management React state management libraries 1 Active View →
🔄 Immutability Immutability helper libraries 6 Active View →
🧭 Router React routing libraries 4 Active View →
🎨 CSS Frameworks CSS-in-JS and utility-first CSS frameworks 4 Active View →

Each category has its own detailed README with benchmark results, methodology, and insights.


🔬 How It Works

  • Automated: Runs daily via GitHub Actions
  • Smart Execution: Only runs when libraries update or test files change
  • Comprehensive: Multiple real-world test scenarios per category
  • Transparent: Open source, reproducible locally

🚀 Quick Start

View Results

Browse to any category folder to see detailed benchmark results and insights.

Run Locally

# Clone the repo
git clone https://github.com/sylphxltd/benchmark.git
cd benchmark

# Install root dependencies
npm install

# Run a specific category
cd benchmarks/state-management
npm install
npm run benchmark

# Generate report
npx tsx ../../scripts/generate-readme.ts .

🤝 Contributing

Adding a New Library

  1. Update package.json in the category folder
  2. Update library-metadata.json with GitHub link
  3. Add benchmark tests in src/benchmark.bench.ts
  4. Run benchmarks and generate README
  5. Submit PR with results

Adding a New Category

  1. Create directory in benchmarks/
  2. Copy structure from existing category
  3. Add libraries and write tests
  4. Update main README table
  5. Submit PR with sample results

📈 Results Format

Each category README includes:

  • Library Versions: Current versions with last updated dates
  • Bundle Sizes: Minified + Gzipped sizes from Bundlephobia
  • Benchmark Results: Operations/sec, variance, mean time, p99
  • Key Insights: Performance comparisons and recommendations

Developed and maintained by Sylph

Supporting Tools

VitestBundlephobiaGitHub Actions


Star this repo if you find it useful! ⭐

⬆ Back to Top

About

Automated performance benchmarks for popular JavaScript libraries including state management, immutability, routing, and CSS frameworks

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •