Skip to content

SylphxAI/benchmark

πŸ† 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 8 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.


View All State Management Results β†’


πŸ”¬ How It Works

  • Automated: Runs hourly via GitHub Actions for per-library checks
  • Smart Execution: Only benchmarks libraries with new versions (75-85% cost reduction)
  • Independent Results: Each library tested and stored separately
  • Comprehensive: Multiple real-world test scenarios per category
  • Transparent: Open source, reproducible locally

πŸ“– Read the Architecture Documentation β†’

Learn about the per-library benchmark system, cost optimization strategies, and how to add new libraries.


πŸš€ 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/SylphxAI/benchmark.git
cd benchmark

# Install root dependencies
npm install

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

# Generate report
node generate-readme.js

🀝 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

Vitest β€’ Bundlephobia β€’ GitHub Actions


Star this repo if you find it useful! ⭐

⬆ Back to Top

About

πŸ“Š Automated performance benchmarks for popular JavaScript libraries - state management, immutability, routing, CSS

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •