The Backend Runtime Showdown

See how Go, Rust, Bun, Node, Python, and PHP handle real-world checkout transactions under load.

Forget synthetic micro-benchmarks and hello-world scripts. This is a production-grade stress test measuring throughput, latency, and resource efficiency across actual e-commerce workflows.

Choose metric:

Throughput

Requests per second under load

Rust (Axum)
1480 rps
baseline
Go (Fiber v2)
1210 rps
baseline
Node (Fastify)
1090 rps
baseline
Rails (Puma)
820 rps
baseline
Python (FastAPI)
690 rps
baseline
PHP (Vanilla)
340 rps
baseline

What Is This Benchmark?

Most benchmarks test hello-world endpoints or simple JSON serialization. This one is different.

We simulate a real-world checkout transaction โ€” the kind that generates revenue for online businesses. Each test measures how each runtime handles:

  • โ†’ Throughput: How many successful checkouts per second under load
  • โ†’ Latency: P50, P95, P99 response times across a 30-second ramp-up
  • โ†’ Resource Efficiency: Memory, CPU, and database connection usage
  • โ†’ Error Handling: Reliability under extreme load

The Checkout Workflow

๐Ÿ”

Auth Check

Validate JWT session

๐Ÿ“ฆ

Inventory Lock

Atomic DB update

๐Ÿ’ณ

Payment Gateway

HTTPS to payment processor

๐Ÿ“

Order Creation

Write to database

๐Ÿ“ง

Notification

Trigger async events

1,000
Virtual Users
30s
Ramp-up Time
100
Warmup Requests
Same
Hardware

Backend Bake-off Dashboard ยท Compare Go, Rust, Bun, Node, Python, and PHP

GitHub