Skip to main content
This page tracks all local benchmark suites shipped in benchmarks/:
  • bench (cold container spawn benchmark)
  • bench:pool (warm-pool benchmark)
  • bench:detailed (phase-level breakdown)
  • bench:tti (ComputeSDK-style TTI, cold)
  • bench:tti:pool (ComputeSDK-style TTI, warm pool)

Latest run snapshot

Run date: 2026-02-19 Environment capture time (UTC): 2026-02-19T09:28:47Z

Benchmark environment

ComponentValue
Host OSmacOS 26.2 (build 25C56)
KernelDarwin 25.2.0 (arm64)
CPUApple M3 (8 cores)
Memory16 GB
Container runtimeDocker Server 28.5.2 via OrbStack (linux/aarch64 guest)
Bun1.2.20
Node.jsv23.0.0
These benchmarks are host-sensitive. Re-run on your target machine before using values as SLO or regression gates.

bun run bench (cold spawn benchmark)

RuntimeMinMedianMaxAvg
python206ms220ms476ms301ms
node205ms211ms235ms217ms
bun190ms194ms214ms199ms
deno207ms223ms239ms223ms
bash181ms188ms189ms186ms

bun run bench:pool (warm pool benchmark)

RuntimeColdWarm avgWarm minSpeedup
python323ms132ms126ms2.6x
node237ms142ms132ms1.8x
bun213ms126ms120ms1.8x
deno232ms150ms144ms1.6x
bash192ms117ms113ms1.7x

bun run bench:detailed (phase breakdown, cold path)

RuntimecreatestartwritemkExecruncleanuptotal
python75ms57ms19ms1ms20ms45ms217ms
node45ms36ms14ms1ms28ms31ms154ms
bun46ms33ms12ms1ms16ms26ms134ms
bash38ms39ms13ms0ms12ms34ms136ms

ComputeSDK-style TTI benchmark

This suite is aligned to the ComputeSDK benchmark README, where TTI is measured as create/init + first command execution.

bun run bench:tti (cold, median TTI)

RuntimeMedianMinMax
bash0.18s0.18s0.19s
bun0.19s0.19s0.20s
python0.20s0.20s0.25s
deno0.21s0.21s0.21s
node0.21s0.20s0.22s

bun run bench:tti:pool (warm pool, median TTI)

RuntimeMedianWarm minWarm avg
bash0.12s0.11s0.12s
bun0.12s0.12s0.12s
python0.13s0.12s0.13s
node0.13s0.13s0.13s
deno0.15s0.14s0.15s

Comparison context vs ComputeSDK benchmarks

ComputeSDK’s README reports direct-mode provider medians (last run shown there: 2026-02-19T00:30:31.834Z):
SourceMedian TTI range
isol8 local (this page, warm pool)0.12s-0.15s
ComputeSDK direct mode providers0.29s-2.80s
This is directional context, not a strict apples-to-apples ranking. Environment, provider architecture, geography, and sandbox lifecycle semantics differ.

Reproduce locally (all suites)

# Cold spawn benchmark
bun run bench

# Warm-pool benchmark
bun run bench:pool

# Detailed phase breakdown
bun run bench:detailed

# ComputeSDK-style TTI (cold)
bun run bench:tti

# ComputeSDK-style TTI (warm pool)
bun run bench:tti:pool

Run benchmarks on GitHub Actions

You can also run benchmarks on a GitHub-hosted runner by manually triggering production-test.yml.
  • workflow: Production Tests (Manual)
  • runner: ubuntu-latest
  • input: set runBenchmarks=true
  • behavior: benchmarks run after production tests pass (the workflow executes bun run bench:cli)

FAQ

They represent steady-state latency after initial startup, which is the dominant user experience in long-lived services.
Use bench:detailed to find phase bottlenecks, then validate impact with bench:pool and bench:tti:pool.
Cold runs include one-time lifecycle costs that warm pools avoid (container creation/start and first-path setup).
Treat it as directional only. Use the same region, host class, and iteration settings before drawing hard conclusions.

Troubleshooting quick checks

  • benchmark command fails on first run: rerun sequentially, not in parallel
  • unexpectedly high warm TTI: verify pool defaults in isol8.config.json and container host load
  • noisy results: increase iterations and run with minimal background system activity