
rari benchmark
React Server Components on a Rust runtime. No Node.js in the request hot path. Measuring real-world performance on a $0 EC2 t3.micro.
Live on virginia.uptimeclaw.com
This app runs on a $0 AWS t3.micro (1 vCPU, 1GB RAM) with the rari Rust runtime. No Node.js in the request hot path — the Rust binary handles all incoming requests.
~137 MB
Runtime RSS
0.7%
CPU at idle
~476ms
Build time
Measured April 2026 on EC2 t3.micro us-east-1
Response Time (Single Request)
| Metric | rari | Next.js | Improvement |
|---|---|---|---|
| Avg Response | 0.08ms | 0.78ms | 9.8x faster |
| P95 Latency | 0.12ms | 0.86ms | 7.2x faster |
| Bundle Size | 281 KB | 634 KB | 56% smaller |
Throughput Under Load (50 connections, 30s)
| Metric | rari | Next.js | Improvement |
|---|---|---|---|
| Requests/sec | 71,404 | 1,497 | 47.7x higher |
| Avg Latency | 0.70ms | 33.42ms | 47.7x faster |
| P95 Latency | 1.19ms | 41.90ms | 35.2x faster |
Why rari?

Rust Runtime
HTTP server, RSC renderer, and routing written in Rust with embedded V8. No Node.js in the request hot path.

React Server Components
Server components by default. Use 'use client' only when you need interactivity. True RSC semantics.

Zero Cold Start
Persistent process — always warm, always fast. No serverless spin-up penalty.
Streaming SSR
Progressive rendering with Suspense boundaries. Users see content immediately.
Tiny Bundles
56% smaller client JavaScript than Next.js. Rolldown-powered Vite builds in under 2 seconds.
Self-Hosted
Run on your own hardware. No vendor lock-in, no cold starts, no per-request billing.
Test the API
Hit these endpoints directly to see raw response times: