1

Fiz o teste Benchmark de 23 Frameworks web! O top 5 é de frameworks na linguagem Rust! Veja os detalhes aqui!

Top 10 abaixo:

Link dos 23 completo: https://rullst.github.io/Benchmarks/
Link do Repo no GitHub: https://github.com/Rullst/Benchmarks

🏅 Official Efficiency Ranking

🏆 RankFrameworkLanguageEfficiency (RPS/MB)JSON RPSDB Single RPSAvg LatencyPeak RAMStatus
🥇 1stActix-WebRust6.778128.654,3112.366,92.34ms18.98MiB✅ Passed
🥈 2ndAxumRust4.580100.620,3318.033,162.61ms21.97MiB✅ Passed
🥉 3rdPoemRust4.34698.795,4812.405,222.68ms22.73MiB✅ Passed
4Rullst 👑Rust4.34490.485,6716.186,73.14ms20.83MiB✅ Passed
5SalvoRust4.14192.218,377.465,662.96ms22.27MiB✅ Passed
6Go-FiberGo4.03299.803,8916.026,642.68ms24.75MiB✅ Passed
7DioxusRust3.44887.638,059.431,992.79ms25.42MiB✅ Passed
8LeptosRust3.02477.135,018.0092.94ms25.51MiB✅ Passed
9Go-GinGo2.89870.219,413.627,194.14ms24.23MiB✅ Passed
10ASP.NET CoreC#71875.723,4711.181,523.63ms105.5MiB✅ Passed

🎯 What is this?

This repository contains a comprehensive 4-tier benchmark suite designed to rigorously evaluate the performance, resilience, and resource efficiency of 23 modern web frameworks across multiple languages.

We don't just guess; we measure. 📊


🧪 Benchmark Methodology (4-Tier Architecture)

To simulate different real-world scenarios, our testing approach is divided into four robust tiers:

🌍 Tier 1: Fast Load (Baseline Performance)

  • Goal: Establish a baseline for raw Requests Per Second (RPS) and latency.
  • Load: 125 concurrent connections for 10 seconds.
  • Endpoints: /text, /json, /db-single, /html

⚡ Tier 2: Concurrency & Latency (High Traffic)

  • Goal: Evaluate behavior under sudden traffic spikes and measure P99 latency.
  • Load: 300 concurrent connections for 30 seconds.
  • Endpoints: /json

🧠 Tier 3: Resource Efficiency (Idle vs. Peak)

  • Goal: Identify CPU and RAM utilization of "greedy" vs. "efficient" architectures.
  • Method: Measure Docker stats during 0 traffic (Idle) vs. 200 concurrent connections (Peak).

🔥 Tier 4: Stress & Resilience (Memory Leak Detection)

  • Goal: Ensure frameworks don't crash or leak memory under prolonged stress.
  • Load: 500 concurrent connections for a sustained 2 minutes.
  • Endpoints: /json

🏅 The Efficiency Ranking Score (RPS/MB)

Our official ranking is determined by the Efficiency Score, which measures how many requests a framework can handle per megabyte of memory it consumes.

  • Formula: Efficiency = JSON RPS (Tier 1) / Peak RAM in MB (Tier 3)
  • Example: A framework handling 100,000 RPS with 20MB RAM scores 5,000. A framework handling 100,000 RPS with 200MB RAM scores 500.
  • The Disqualification Penalty: Any framework that drops connections, crashes, or returns timeout errors during the Tier 4 Stress Test is automatically disqualified and receives 0 Points. Speed is irrelevant if the server collapses under pressure!

💻 Minimum Hardware Requirements

To run these benchmarks locally without skewing the results due to resource starvation (especially during the 500-connection Tier 4 tests), we recommend the following minimum specifications:

  • CPU: 4 Cores / 8 Threads (8+ Cores recommended)
  • RAM: 8GB Minimum (16GB+ recommended)
  • OS: Linux, macOS, or Windows (WSL2)
  • Docker Engine: Ensure Docker is allocated at least 4 CPUs and 8GB of RAM.

📊 Official Tested Hardware

All benchmark results listed in this repository were run on the following environment to ensure consistency:

  • CPU: AMD Ryzen 7 5700U (8 Cores / 16 Threads)
  • RAM: 8GB
  • OS: Windows 11 (Docker with WSL2)

🗄️ Database Architecture

All frameworks connect to a dedicated PostgreSQL 15 container.

  • The database is initialized via the db-init scripts which pre-populate a table called world with thousands of random rows.
  • Frameworks must fetch the World record with ID = 1 for the /db-single endpoint. Connection pooling is strictly recommended.
Carregando publicação patrocinada...