Benchmark
RaisFast performance benchmarks against Payload, Strapi, and WordPress on identical hardware.
All benchmarks run on the same hardware: 2 vCPU, 4 GB RAM VPS, single instance, SQLite (RaisFast) / PostgreSQL (Payload, Strapi) / MySQL (WordPress). Test tool: wrk with 100 concurrent connections, 30 seconds.
Throughput (Read)
GET /api/v1/posts?page=1&limit=20 — the most common API call.
API Throughput (requests per second)
RaisFast ████████████████████████████████████████ 30,000+
Payload █████ 3,200
Strapi ████ 2,000
WordPress █ 500| CMS | Language | RPS | vs RaisFast |
|---|---|---|---|
| RaisFast | Rust | 30,000+ | 1x |
| Payload CMS | Node.js | 3,200 | 9.4x slower |
| Strapi | Node.js | 2,000 | 15x slower |
| WordPress | PHP | 500 | 60x slower |
Latency (Read)
GET /api/v1/posts/:id — single item fetch.
| CMS | P50 | P90 | P99 |
|---|---|---|---|
| RaisFast | 0.3 ms | 0.8 ms | 3 ms |
| Payload CMS | 5 ms | 18 ms | 45 ms |
| Strapi | 8 ms | 25 ms | 60 ms |
| WordPress | 30 ms | 100 ms | 250 ms+ |
Write Performance
POST /api/v1/posts — authenticated create, JSON body.
| CMS | RPS |
|---|---|
| RaisFast | 12,000+ |
| Payload CMS | 1,500 |
| Strapi | 800 |
| WordPress | 200 |
Memory Usage
| CMS | Idle | Under Load (1K connections) |
|---|---|---|
| RaisFast | ~10 MB | ~30 MB |
| Payload CMS | ~200 MB | ~500 MB |
| Strapi | ~150 MB | ~400 MB |
| WordPress | ~80 MB | ~250 MB |
RaisFast uses 20-50x less memory than Node.js alternatives.
Cold Start
Time from process start to first successful HTTP response.
| CMS | Startup Time | Dependencies |
|---|---|---|
| RaisFast | < 0.5s | 0 (single binary) |
| WordPress | ~2s | Apache + PHP + MySQL |
| Payload CMS | ~3s | Node.js + PostgreSQL |
| Strapi | ~5s | Node.js + PostgreSQL |
Concurrency Scalability
RPS as connections ramp from 1 to 1000:
RPS
30K ┤ ████████████ RaisFast
│ ██████
│ █████
│
3K ┤ █████████████████ Payload
│ ██████
│ █████
2K ┤ ████████████████████ Strapi
│ ██████
│
500┤ █ WordPress
└──┬──────┬──────┬──────┬──────┬──────┬────
1 10 50 100 500 1000 ConnectionsRaisFast throughput scales linearly with connections. Node.js CMS platforms hit a ceiling due to single-threaded event loop and GC pressure.
Why RaisFast Is Faster
| Factor | RaisFast (Rust) | Node.js CMS | PHP CMS |
|---|---|---|---|
| No GC | Zero-cost ownership, deterministic cleanup | Stop-the-world GC pauses | GC pauses |
| Async I/O | Tokio, true multi-core | Single-threaded event loop | Blocking I/O |
| HTTP Framework | Axum (zero-copy) | Express/Koa (overhead) | Apache module |
| Database Driver | SQLx (async, compile-time checked) | ORM (query builder overhead) | PDO/MySQLi |
| Serialization | serde (zero-copy) | JSON.parse (allocation-heavy) | json_encode |
| Memory layout | Stack-first, cache-friendly | Heap-heavy, GC pressure | Heap-heavy |
Reproduce These Benchmarks
All benchmark scripts are open source:
git clone https://github.com/RaisFast/raisfast.git
cd raisfast/benchmarks
./run-all.shEach script provisions identical test data (1,000 posts with categories and tags) before measuring.
Disclaimer: Benchmark results depend on hardware, data size, and configuration. These numbers represent typical results on a 2 vCPU / 4 GB VPS. Your results may vary. We publish our methodology and scripts for full transparency and reproducibility.
