Superserve sandbox benchmark
Our hardware probe found Superserve runs each sandbox as a Firecracker microVM. We timed it through one SDK against 8 other sandbox providers: cold start, real agent work, everyday calls, pause and snapshots, bursts, machine speed, reliability and cost per task. Each result is a median with its p95 and 95% interval, on two tracks: the same 4 vCPU, 8 GB machine for every provider, and each provider's default machine.
Sandbox bench runs on Sandbox SDK, which the same team (opencoredev) builds. We may work with some of these providers. No provider paid for these results or decided how they were tested.
Same machine: 4 vCPU, 8 GB
- Cold start, median
- 0.52 s 1st of 9
- Tool replay, median
- 13 s 2nd of 9
Default machines
- Cold start, median
- 0.53 s 2nd of 9
- Tool replay, median
- 13 s 1st of 9
Superserve on the same 4 vCPU, 8 GB machine
Every provider asked for Boat's machine, 4 vCPU and 8 GB, or its nearest size. Runs from 2026-10-22 to 2026-10-23, 9 providers. See every provider side by side on the full results.
- Asked for
- 4 vCPU, 8 GB, template sandbox-bench-node22-py311-4x8-pinned
- Measured inside
- 4 vCPU, 7.8 GB
- Cost per 1,000 tasks
- $1.32 (billed)
- Success rate
- 100.00% (1,076 of 1,076)
- Ran in: Washington, US.
- Cost: $0.0013 per task, from its bill (billed over 10 tasks, high confidence). A task is: create a sandbox, run the 100-call tool replay, delete it. Cost per task comes from a separate cost run, billed per sandbox.
- List price: $0.331 per hour for this machine, compute only.
- Pause and resume: supported; pause 0.39 s and resume 0.53 s median over 100 runs.
- Failures counted against Superserve: none.
Start-up
| Test | Median | p95 | 95% interval | Rank |
|---|---|---|---|---|
| Cold start (lower is better) | 0.52 sp95 0.64 s95%: 0.52 s to 0.52 s | 0.64 s | 0.52 s to 0.52 s | 1st of 9 |
Agent work
| Test | Median | p95 | 95% interval | Rank |
|---|---|---|---|---|
| Agent tool replay (lower is better) | 13 sp95 15 s95%: 13 s to 13 s | 15 s | 13 s to 13 s | 2nd of 9 · lowest median: Daytona 12 s |
| npm install (lower is better) | 1.1 sp95 1.8 s95%: 0.99 s to 1.4 s | 1.8 s | 0.99 s to 1.4 s | 5th of 9, tied with Tenki · lowest median: Daytona 0.75 s |
| pip install (lower is better) | 3.8 sp95 4.6 s95%: 3.7 s to 4.1 s | 4.6 s | 3.7 s to 4.1 s | 2nd of 9 · lowest median: Tenki 3.3 s |
| git clone (lower is better) | 1.0 sp95 2.7 s95%: 0.85 s to 1.1 s | 2.7 s | 0.85 s to 1.1 s | 4th of 9 · lowest median: Daytona 0.43 s |
| Dev server ready (lower is better) | 1.3 sp95 1.7 s95%: 1.3 s to 1.3 s | 1.7 s | 1.3 s to 1.3 s | 1st of 9 |
| Preview URL first byte (lower is better) | 0.18 sp95 0.23 s95%: 0.18 s to 0.19 s | 0.23 s | 0.18 s to 0.19 s | 1st of 9 |
| Edit, rebuild, reload (lower is better) | 0.49 sp95 0.90 s95%: 0.45 s to 0.51 s | 0.90 s | 0.45 s to 0.51 s | 6th of 9 · lowest median: Freestyle 0.30 s |
Everyday calls
| Test | Median | p95 | 95% interval | Rank |
|---|---|---|---|---|
| Run a command (lower is better) | 0.19 sp95 0.22 s95%: 0.19 s to 0.19 s | 0.22 s | 0.19 s to 0.19 s | 5th of 9 · lowest median: E2B 0.13 s |
| Write + read 1 KB (lower is better) | 0.10 sp95 0.11 s95%: 0.10 s to 0.10 s | 0.11 s | 0.10 s to 0.10 s | 1st of 9 |
| Write + read 10 MB (lower is better) | 0.66 sp95 0.85 s95%: 0.64 s to 0.68 s | 0.85 s | 0.64 s to 0.68 s | 1st of 9 |
| Reconnect (lower is better) | 0.33 sp95 0.39 s95%: 0.33 s to 0.34 s | 0.39 s | 0.33 s to 0.34 s | 2nd of 9 · lowest median: Daytona 0.30 s |
| Destroy (lower is better) | 0.18 sp95 0.42 s95%: 0.18 s to 0.20 s | 0.42 s | 0.18 s to 0.20 s | 5th of 9, tied with Boat, Freestyle · lowest median: E2B 0.11 s |
Pause and snapshots
| Test | Median | p95 | 95% interval | Rank |
|---|---|---|---|---|
| Pause + resume (lower is better) | 0.93 sp95 1.3 s95%: 0.91 s to 0.95 s | 1.3 s | 0.91 s to 0.95 s | 3rd of 6 · lowest median: boxd 0.53 s |
| Take snapshot (lower is better) | 0.39 sp95 0.41 s95%: 0.38 s to 0.39 s | 0.41 s | 0.38 s to 0.39 s | 1st of 8 |
| Start from snapshot (lower is better) | 0.55 sp95 0.64 s95%: 0.54 s to 0.56 s | 0.64 s | 0.54 s to 0.56 s | 1st of 8 |
Bursts
| Test | Median | p95 | 95% interval | Rank |
|---|---|---|---|---|
| 10 at once, all ready (lower is better) | 0.84 sp95 1.6 s95%: 0.58 s to 1.6 s | 1.6 s | 0.58 s to 1.6 s | 1st of 8, tied with Upstash Ephemeral Box |
| 25 at once, all ready (lower is better) | 0.79 sp95 1.0 s95%: 0.75 s to 1.0 s | 1.0 s | 0.75 s to 1.0 s | 1st of 9 |
Machine speed
| Test | Median | p95 | 95% interval | Rank |
|---|---|---|---|---|
| CPU, one core (higher is better) | 18.6M/sp95 19M/s95%: 18.6M/s to 18.6M/s | 19M/s | 18.6M/s to 18.6M/s | 3rd of 9 · highest median: Tenki 19.4M/s |
| CPU, all cores (higher is better) | 43.6M/sp95 59.8M/s95%: 42.4M/s to 44.9M/s | 59.8M/s | 42.4M/s to 44.9M/s | 4th of 9 · highest median: Upstash Ephemeral Box 51M/s |
| Memory bandwidth (higher is better) | 16.5 GB/sp95 17.2 GB/s95%: 16.3 GB/s to 16.8 GB/s | 17.2 GB/s | 16.3 GB/s to 16.8 GB/s | 7th of 9 · highest median: Tenki 45.9 GB/s |
| Disk write (higher is better) | 157 MB/sp95 855 MB/s95%: 154 MB/s to 162 MB/s | 855 MB/s | 154 MB/s to 162 MB/s | 9th of 9 · highest median: Upstash Ephemeral Box 2.4 GB/s |
| Disk read (higher is better) | 4.8 GB/sp95 8.0 GB/s95%: 4.6 GB/s to 5.4 GB/s | 8.0 GB/s | 4.6 GB/s to 5.4 GB/s | 9th of 9 · highest median: Upstash Ephemeral Box 23.1 GB/s |
| 4K random write (higher is better) | 17K IOPSp95 33.3K IOPS95%: 16.5K IOPS to 17.5K IOPS | 33.3K IOPS | 16.5K IOPS to 17.5K IOPS | 3rd of 9 · highest median: Upstash Ephemeral Box 45.1K IOPS |
| 4K random read (higher is better) | 604.3K IOPSp95 719.2K IOPS95%: 577.5K IOPS to 640.2K IOPS | 719.2K IOPS | 577.5K IOPS to 640.2K IOPS | 2nd of 9 · highest median: Boat 796.4K IOPS |
Quick picks on this track, all providers
| Need | Pick | Runner-up |
|---|---|---|
| Fastest cold start | Superserve 0.52 s | Upstash Ephemeral Box 0.68 s |
| Fastest agent work (tool replay) | Daytona 12 s | Superserve 13 s |
| Fastest 25-sandbox fan-out | Superserve 0.79 s | E2B 1.1 s |
| Fastest reconnect | Daytona 0.30 s | Superserve 0.33 s |
| Cheapest task | Upstash Ephemeral Box $0.00026 per task, $0.26 per 1,000 (billed) | Upstash Box $0.00034 per task, $0.34 per 1,000 (billed) |
| Most reliable | E2B, Tenki, Superserve, Upstash Box, Daytona, Upstash Ephemeral Box, Boat 100.00% (tied) | Freestyle 99.91% |
Superserve on its default machine
Each provider's default sandbox, so machine sizes differ. Runs from 2026-10-22 to 2026-10-23, 9 providers. See every provider side by side on the full results.
- Asked for
- 1 vCPU, 1 GB, template sandbox-bench-node22-py311-1x1-pinned
- Measured inside
- 1 vCPU, 994 MB
- Cost per 1,000 tasks
- $0.27 (billed)
- Success rate
- 100.00% (1,076 of 1,076)
- Machine: Superserve ran a template we built with Node 22 and Python 3.11 preinstalled, at its default 1 vCPU, 1 GB RAM and 4 GB disk. Superserve's own templates have Node (node-22) or Python (python-3.11), not both, and our tests need both.
- Ran in: Washington, US.
- Cost: $0.00027 per task, from its bill (billed over 10 tasks, high confidence). A task is: create a sandbox, run the 100-call tool replay, delete it. Cost per task comes from a separate cost run, billed per sandbox.
- List price: $0.067 per hour for this machine, compute only.
- Pause and resume: supported; pause 0.36 s and resume 0.54 s median over 100 runs.
- Failures counted against Superserve: none.
Start-up
| Test | Median | p95 | 95% interval | Rank |
|---|---|---|---|---|
| Cold start (lower is better) | 0.53 sp95 0.63 s95%: 0.52 s to 0.54 s | 0.63 s | 0.52 s to 0.54 s | 2nd of 9 · lowest median: E2B 0.50 s |
Agent work
| Test | Median | p95 | 95% interval | Rank |
|---|---|---|---|---|
| Agent tool replay (lower is better) | 13 sp95 14 s95%: 13 s to 13 s | 14 s | 13 s to 13 s | 1st of 9 |
| npm install (lower is better) | 1.4 sp95 2.0 s95%: 1.3 s to 1.8 s | 2.0 s | 1.3 s to 1.8 s | 6th of 9, tied with Tenki, boxd · lowest median: Boat 0.86 s |
| pip install (lower is better) | 3.8 sp95 4.6 s95%: 3.7 s to 4.2 s | 4.6 s | 3.7 s to 4.2 s | 1st of 9, tied with Boat |
| git clone (lower is better) | 1.1 sp95 1.9 s95%: 1.1 s to 1.2 s | 1.9 s | 1.1 s to 1.2 s | 4th of 9, tied with E2B, Tenki · lowest median: Upstash Ephemeral Box 0.61 s |
| Dev server ready (lower is better) | 1.8 sp95 2.0 s95%: 1.8 s to 1.9 s | 2.0 s | 1.8 s to 1.9 s | 1st of 9 |
| Preview URL first byte (lower is better) | 0.19 sp95 0.25 s95%: 0.18 s to 0.20 s | 0.25 s | 0.18 s to 0.20 s | 1st of 9 |
| Edit, rebuild, reload (lower is better) | 0.46 sp95 0.78 s95%: 0.45 s to 0.49 s | 0.78 s | 0.45 s to 0.49 s | 6th of 9 · lowest median: Freestyle 0.31 s |
Everyday calls
| Test | Median | p95 | 95% interval | Rank |
|---|---|---|---|---|
| Run a command (lower is better) | 0.19 sp95 0.23 s95%: 0.19 s to 0.19 s | 0.23 s | 0.19 s to 0.19 s | 5th of 9 · lowest median: E2B 0.14 s |
| Write + read 1 KB (lower is better) | 0.10 sp95 0.11 s95%: 0.10 s to 0.10 s | 0.11 s | 0.10 s to 0.10 s | 1st of 9 |
| Write + read 10 MB (lower is better) | 0.64 sp95 0.89 s95%: 0.60 s to 0.66 s | 0.89 s | 0.60 s to 0.66 s | 1st of 9 |
| Reconnect (lower is better) | 0.32 sp95 0.37 s95%: 0.32 s to 0.33 s | 0.37 s | 0.32 s to 0.33 s | 2nd of 9 · lowest median: Daytona 0.31 s |
| Destroy (lower is better) | 0.18 sp95 0.30 s95%: 0.18 s to 0.19 s | 0.30 s | 0.18 s to 0.19 s | 4th of 9, tied with Boat, Freestyle · lowest median: E2B 0.11 s |
Pause and snapshots
| Test | Median | p95 | 95% interval | Rank |
|---|---|---|---|---|
| Pause + resume (lower is better) | 0.92 sp95 3.7 s95%: 0.90 s to 0.94 s | 3.7 s | 0.90 s to 0.94 s | 4th of 6 · lowest median: boxd 0.54 s |
| Take snapshot (lower is better) | 0.36 sp95 0.40 s95%: 0.35 s to 0.36 s | 0.40 s | 0.35 s to 0.36 s | 2nd of 8 · lowest median: E2B 0.34 s |
| Start from snapshot (lower is better) | 0.56 sp95 0.68 s95%: 0.54 s to 0.57 s | 0.68 s | 0.54 s to 0.57 s | 1st of 8 |
Bursts
| Test | Median | p95 | 95% interval | Rank |
|---|---|---|---|---|
| 10 at once, all ready (lower is better) | 0.65 sp95 0.75 s95%: 0.57 s to 0.75 s | 0.75 s | 0.57 s to 0.75 s | 1st of 9 |
| 25 at once, all ready (lower is better) | 0.75 sp95 1.6 s95%: 0.75 s to 1.6 s | 1.6 s | 0.75 s to 1.6 s | 1st of 8 |
Machine speed
| Test | Median | p95 | 95% interval | Rank |
|---|---|---|---|---|
| CPU, one core (higher is better) | 18.5M/sp95 18.8M/s95%: 18.5M/s to 18.6M/s | 18.8M/s | 18.5M/s to 18.6M/s | 3rd of 9 · highest median: Boat 18.8M/s |
| CPU, all cores (higher is better) | 12.2M/sp95 16.7M/s95%: 12.1M/s to 12.2M/s | 16.7M/s | 12.1M/s to 12.2M/s | 8th of 9 · highest median: Boat 51.7M/s |
| Memory bandwidth (higher is better) | 16.1 GB/sp95 17.0 GB/s95%: 15.9 GB/s to 16.3 GB/s | 17.0 GB/s | 15.9 GB/s to 16.3 GB/s | 7th of 9 · highest median: Upstash Ephemeral Box 41.1 GB/s |
| Disk write (higher is better) | 155 MB/sp95 720 MB/s95%: 151 MB/s to 160 MB/s | 720 MB/s | 151 MB/s to 160 MB/s | 9th of 9 · highest median: Upstash Ephemeral Box 2.4 GB/s |
| Disk read (higher is better) | 4.0 GB/sp95 8.1 GB/s95%: 3.9 GB/s to 4.8 GB/s | 8.1 GB/s | 3.9 GB/s to 4.8 GB/s | 9th of 9 · highest median: Upstash Ephemeral Box 23.0 GB/s |
| 4K random write (higher is better) | 17.8K IOPSp95 31.7K IOPS95%: 17K IOPS to 18.2K IOPS | 31.7K IOPS | 17K IOPS to 18.2K IOPS | 3rd of 9 · highest median: Upstash Ephemeral Box 43.3K IOPS |
| 4K random read (higher is better) | 641.4K IOPSp95 748.1K IOPS95%: 632.1K IOPS to 654.7K IOPS | 748.1K IOPS | 632.1K IOPS to 654.7K IOPS | 2nd of 9 · highest median: Boat 772.6K IOPS |
Quick picks on this track, all providers
| Need | Pick | Runner-up |
|---|---|---|
| Fastest cold start | E2B 0.50 s | Superserve 0.53 s |
| Fastest agent work (tool replay) | Superserve 13 s | Daytona 15 s |
| Fastest 25-sandbox fan-out | Superserve 0.75 s | E2B 0.87 s |
| Fastest reconnect | Daytona 0.31 s | Superserve 0.32 s |
| Cheapest task | Upstash Ephemeral Box $0.00013 per task, $0.13 per 1,000 (billed) | Upstash Box $0.00017 per task, $0.17 per 1,000 (billed) |
| Most reliable | E2B, Tenki, Superserve, Upstash Box, Daytona, Boat 100.00% (tied) | boxd 99.81% |
How to read these numbers
- Every result, cold start, SDK setup, snapshots, bursts and cost included, comes from the runs on our faster SDK (commit 1185278); Superserve now runs the same-machine track at 4 vCPU.
- Every call starts from one server in Florida, US. Providers hosted farther away pay that round trip on every call; Boat (France) and boxd (Germany) pay a transatlantic one.
- There are two tracks. Same machine: 4 vCPU, 8 GB: Every provider asked for Boat's machine, 4 vCPU and 8 GB, or its nearest size. A provider marked “machine differs” measured something else inside. Default machines: Each provider's default sandbox, so machine sizes differ.
- Cost per task has a kind. Billed comes from the provider's bill, metered from its usage records at published rates, and estimate from our measured time at list price. Kinds are not directly comparable. Prices cover compute only at list rates: disk, transfer, subscriptions and credits are excluded.
- Pause and resume times come from the previous SDK run, because the newest runs skipped them. A burst size is published only when all three bursts finished.
- Failures caused by our own code are set aside, not counted. Every provider-side failure is kept.
- Ranks compare medians. Medians inside each other's 95% intervals count as tied, so a close rank can be noise.
More results
- E2B sandbox benchmark
- Daytona sandbox benchmark
- Upstash Box sandbox benchmark
- Upstash Ephemeral Box sandbox benchmark
- Boat sandbox benchmark
- Freestyle sandbox benchmark
- Tenki sandbox benchmark
- Every sandbox provider we benchmark
- Every provider on the same 4 vCPU, 8 GB machine
- Every provider on its default machine
- Raw data: results.json · results.md · llms.txt