Benchmarks#
All benchmarks measured on the Rustbox platform infrastructure. Numbers represent end-to-end latency including sandbox creation, execution, and teardown.
Per-language latency#
Median wall time for a minimal program (print("hello") equivalent) per language.
| Language | Median latency | Notes |
|---|---|---|
| Python | 36 ms | CPython interpreter startup |
| JavaScript | 36 ms | Bun runtime |
| TypeScript | 36 ms | Bun runtime (same as JS) |
| C | 60 ms | GCC compilation + execution |
| C++ | 72 ms | GCC compilation + execution |
| Go | 120 ms | Go compiler + execution |
| Rust | 140 ms | rustc compilation + execution |
| Java | 445 ms | javac + JVM startup |
Interpreted languages (Python, JS, TS) are fastest because there is no compilation step. Compiled languages include compilation time within the sandbox.
Throughput#
Sustained throughput under load with concurrent submissions.
| Language | Executions/sec |
|---|---|
| Python | 148 |
| JavaScript | 104 |
| TypeScript | 104 |
| C | 85 |
| C++ | 72 |
| Go | 55 |
| Rust | 48 |
| Java | 18 |
Throughput is measured with sufficient concurrent clients to saturate the platform's worker pool. Each execution is a full sandbox lifecycle (create, execute, teardown) with isolation verification.
What the numbers include#
Every measurement includes the full cost:
- Sandbox creation (namespaces, cgroups, mount setup, seccomp filter installation)
- Credential drop and privilege stripping
- Compilation (for compiled languages)
- Execution
- Sandbox teardown and resource cleanup
There is no warm-start optimization, no container reuse, no pre-created pools. Every execution builds a fresh sandbox from scratch.
Machine specifications#
Benchmarks were measured on the following hardware:
| Spec | Value |
|---|---|
| CPU | AMD EPYC (4 cores) |
| Memory | 16 GB |
| Kernel | Linux 6.x (cgroup v2) |
| Storage | NVMe SSD |
Production infrastructure may differ. Reach out if you need latency guarantees for your use case.