Skip to content

fix: configure Sandbox0 benchmark resources and lifetime - #266

Merged
kisernl merged 2 commits into
computesdk:masterfrom
laotoutou:fix/sandbox0-benchmark-hard-ttl
Aug 3, 2026
Merged

fix: configure Sandbox0 benchmark resources and lifetime#266
kisernl merged 2 commits into
computesdk:masterfrom
laotoutou:fix/sandbox0-benchmark-hard-ttl

Conversation

@laotoutou

@laotoutou laotoutou commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

What changed

  • Size Sandbox0 sequential, staggered, and burst TTI sandboxes at 128 MiB.
  • Keep Sandbox0 DAX sandboxes at the standardized 16 GiB profile through the existing DAX resource override.
  • Set a 15-minute hard TTL on every Sandbox0 benchmark sandbox while retaining the existing best-effort destroy path.

Why

The TTI workloads only create a sandbox and run the first node -v readiness command. They do not need the 16 GiB footprint used by the DAX build workload, especially when staggered and burst runs create up to 100 sandboxes.

A cancelled GitHub Actions job can also terminate the Node.js process before its finally block calls destroy(). Without a hard TTL, that can leave a claimed Sandbox0 sandbox running indefinitely.

DAX allows up to 10 minutes per sandbox, so a 15-minute hard TTL leaves cleanup headroom. The DAX option merge overrides the 128 MiB base memory with 16 GiB while preserving the hard TTL.

Sandbox0 resource profile

Mode Memory Hard TTL
Sequential TTI 128 MiB 15 minutes
Staggered TTI 128 MiB 15 minutes
Burst TTI 128 MiB 15 minutes
DAX 16 GiB 15 minutes

Normal runs still call destroy() immediately. The hard TTL is only a server-side fallback for interrupted or failed cleanup.

Impact

This only changes Sandbox0 benchmark sandboxes. Other providers are unaffected.

Validation

  • pnpm typecheck
  • Built @benchsdk/client, @benchsdk/runner, and create-bench
  • @benchsdk/client tests: 118 passed, 1 skipped
  • @benchsdk/runner tests: 56 passed
  • create-bench tests: 1 passed
  • No live provider benchmark was run and no provider credentials were used for this change

@laotoutou
laotoutou force-pushed the fix/sandbox0-benchmark-hard-ttl branch from 5a85a04 to f0c108f Compare July 31, 2026 20:38
@laotoutou laotoutou changed the title fix: bound sandbox0 benchmark lifetime fix: configure Sandbox0 benchmark resources and lifetime Jul 31, 2026
@laotoutou
laotoutou marked this pull request as ready for review July 31, 2026 20:41
@open-cla

open-cla Bot commented Jul 31, 2026

Copy link
Copy Markdown

Contributor License Agreement

All contributors are covered by a CLA.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

View 1 additional finding in Devin Review.

Open in Devin Review

Comment thread benchmarks/sandbox/providers.ts
@kisernl
kisernl merged commit f57ff26 into computesdk:master Aug 3, 2026
6 checks passed
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Sandbox Benchmark Results

Sequential

# Provider Score Median TTI P95 P99 Status
1 isorun 99.5 0.02s 0.10s 0.10s 10/10
2 declaw 99.2 0.05s 0.13s 0.13s 10/10
3 createos 99.0 0.08s 0.13s 0.13s 10/10
4 northflank 98.8 0.10s 0.15s 0.15s 10/10
5 archil 98.2 0.17s 0.20s 0.20s 10/10
6 lightning 97.9 0.19s 0.24s 0.24s 10/10
7 blaxel 97.4 0.25s 0.29s 0.29s 10/10
8 superserve 95.7 0.40s 0.47s 0.47s 10/10
9 beam 94.9 0.10s 1.11s 1.11s 10/10
10 upstash 94.9 0.49s 0.54s 0.54s 10/10
11 vercel 94.3 0.45s 0.75s 0.75s 10/10
12 modal 93.7 0.55s 0.76s 0.76s 10/10
13 cloud-run 93.6 0.57s 0.74s 0.74s 10/10
14 runloop 92.9 0.60s 0.87s 0.87s 10/10
15 opencomputer 92.1 0.54s 1.16s 1.16s 10/10
16 tensorlake 91.3 0.71s 1.10s 1.10s 10/10
17 tenki 89.7 0.81s 1.37s 1.37s 10/10
18 e2b 89.3 0.92s 1.28s 1.28s 10/10
19 daytona 82.9 1.13s 2.57s 2.57s 10/10
20 sandbox0 79.9 1.82s 2.30s 2.30s 10/10
21 codesandbox 75.4 2.31s 2.68s 2.68s 10/10
22 cloudflare 74.1 2.23s 3.13s 3.13s 10/10
23 arker 0.0 0.00s 0.00s 0.00s 0/10
24 hopx 0.0 0.00s 0.00s 0.00s 0/10

Staggered

# Provider Score Median TTI P95 P99 Status
1 isorun 99.8 0.02s 0.02s 0.02s 10/10
2 createos 99.1 0.08s 0.12s 0.12s 10/10
3 beam 98.9 0.10s 0.13s 0.13s 10/10
4 declaw 98.8 0.04s 0.25s 0.25s 10/10
5 northflank 98.7 0.10s 0.17s 0.17s 10/10
6 lightning 98.1 0.18s 0.21s 0.21s 10/10
7 archil 98.1 0.18s 0.22s 0.22s 10/10
8 blaxel 97.4 0.24s 0.28s 0.28s 10/10
9 superserve 96.5 0.34s 0.37s 0.37s 10/10
10 vercel 95.6 0.36s 0.57s 0.57s 10/10
11 upstash 94.6 0.51s 0.59s 0.59s 10/10
12 modal 94.4 0.53s 0.59s 0.59s 10/10
13 cloud-run 93.4 0.58s 0.78s 0.78s 10/10
14 runloop 93.3 0.63s 0.73s 0.73s 10/10
15 opencomputer 92.0 0.60s 1.11s 1.11s 10/10
16 tenki 90.4 0.72s 1.32s 1.32s 10/10
17 tensorlake 89.6 0.83s 1.34s 1.34s 10/10
18 e2b 89.3 0.86s 1.40s 1.40s 10/10
19 cloudflare 77.9 2.01s 2.52s 2.52s 10/10
20 sandbox0 75.8 2.09s 2.91s 2.91s 10/10
21 codesandbox 73.4 2.35s 3.12s 3.12s 10/10
22 daytona 49.5 1.74s 19.65s 19.65s 10/10
23 arker 0.0 0.00s 0.00s 0.00s 0/10
24 hopx 0.0 0.00s 0.00s 0.00s 0/10

Burst

# Provider Score Median TTI P95 P99 Status
1 declaw 99.0 0.10s 0.10s 0.10s 10/10
2 createos 98.5 0.14s 0.15s 0.15s 10/10
3 northflank 98.2 0.15s 0.22s 0.22s 10/10
4 beam 98.1 0.18s 0.20s 0.20s 10/10
5 lightning 97.7 0.22s 0.24s 0.24s 10/10
6 archil 97.7 0.22s 0.24s 0.24s 10/10
7 blaxel 96.7 0.32s 0.36s 0.36s 10/10
8 superserve 95.9 0.40s 0.42s 0.42s 10/10
9 vercel 94.0 0.49s 0.77s 0.77s 10/10
10 modal 93.9 0.56s 0.68s 0.68s 10/10
11 cloud-run 93.7 0.54s 0.77s 0.77s 10/10
12 upstash 93.4 0.64s 0.69s 0.69s 10/10
13 tensorlake 93.4 0.55s 0.84s 0.84s 10/10
14 opencomputer 90.3 0.93s 1.03s 1.03s 10/10
15 e2b 88.9 0.86s 1.49s 1.49s 10/10
16 tenki 87.2 1.25s 1.32s 1.32s 10/10
17 runloop 80.8 0.83s 3.57s 3.57s 10/10
18 sandbox0 75.7 2.19s 2.79s 2.79s 10/10
19 cloudflare 74.5 2.20s 3.07s 3.07s 10/10
20 codesandbox 66.8 2.95s 3.88s 3.88s 10/10
21 isorun 63.4 0.05s 9.06s 9.06s 10/10
22 daytona 44.2 2.64s 35.81s 35.81s 10/10
23 arker 0.0 0.00s 0.00s 0.00s 0/10
24 hopx 0.0 0.00s 0.00s 0.00s 0/10

View full run · SVGs available as build artifacts

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Sandbox Dax Benchmark Results

Provider Phases Total Prepare Clone Install Typecheck Status
archil 6/7 45.94s 4.55s 3.56s 17.47s 0.00s 0/1 OK
arker 7/7 67.99s 4.48s 4.32s 12.23s 37.49s 1/1 OK
beam 0/7 0.00s 0.00s 0.00s 0.00s 0.00s 0/1 OK
blaxel 6/7 46.51s 2.18s 3.03s 11.42s 0.00s 0/1 OK
cloud-run 2/7 1.35s 0.44s 0.00s 0.00s 0.00s 0/1 OK
cloudflare 0/7 0.00s 0.00s 0.00s 0.00s 0.00s 0/1 OK
codesandbox 0/7 0.00s 0.00s 0.00s 0.00s 0.00s 0/1 OK
createos 7/7 48.50s 2.93s 2.57s 12.36s 25.71s 1/1 OK
daytona 7/7 80.51s 3.35s 3.35s 17.55s 39.17s 1/1 OK
declaw 7/7 170.64s 27777.01s 5.51s 23.33s 123.22s 1/1 OK
e2b 7/7 85.22s 8.86s 4.37s 19.77s 43.68s 1/1 OK
hopx -- 0.00s 0.00s 0.00s 0.00s 0.00s 0/1 OK
isorun 7/7 96.69s 1.00s 1.48s 11.69s 27.51s 1/1 OK
lightning 7/7 41.12s 5.25s 3.04s 12.15s 15.41s 1/1 OK
modal 7/7 88.37s 4.21s 3.37s 15.72s 57.34s 1/1 OK
namespace 7/7 41.26s 2.35s 2.59s 9.35s 21.09s 1/1 OK
northflank -- 0.00s 0.00s 0.00s 0.00s 0.00s 0/1 OK
opencomputer 6/7 25.48s 4.13s 2.29s 16.52s 0.00s 0/1 OK
runloop 1/7 111.90s 0.00s 0.00s 30.04s 38.73s 0/1 OK
sandbox0 7/7 264.85s 7.98s 8.58s 75.08s 129.59s 1/1 OK
superserve 7/7 88.83s 5.80s 5.59s 19.54s 54.40s 1/1 OK
tenki 7/7 50.15s 3.88s 4.44s 11.54s 24.25s 1/1 OK
tensorlake 7/7 64.13s 13.55s 3.40s 10.81s 31.50s 1/1 OK
upstash 7/7 51.73s 3.78s 2.93s 9.33s 25.25s 1/1 OK
vercel 7/7 75.50s 16.36s 3.06s 12.26s 37.15s 1/1 OK

View full run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants