Pause and Resume
Builds on Common Methodology
Times a sandbox's pause, its resume and a file read afterwards, under different disk loads.
Interactive coding agents, chat workspaces, and notebook sessions sit idle between user turns. Pausing a sandbox between turns stops compute billing while preserving the user's workspace, but only if the sandbox can pause and wake back up with its files intact.
Furthermore, a provider can return from a resume API call before the sandbox's data has been paged back in, shifting the real wait onto the first command that touches the data.
The Pause and Resume tab measures both sides of that lifecycle: Pause and Resume tests immediate pause, resume, and data read-back across memory and disk loads, while Delayed Resume tests wake and read time after a sandbox has been paused or left idle across selected wait durations.
View the Procedure View Pause and Resume Results Download Raw Data View the Parameters
Metrics
Pause and Resume is the sum of two timed post-pause stages: Resume (the resume API call) and Read (the command that reads the full seeded payload and verifies its byte count and SHA-256 digest), charted alongside Pause (the pause API call).
| Timed Part | Starts | Ends |
| Resume | The resume request | The resume call returns |
| Read data after resume | The first command after the resume | The read result and sandbox clock readings return to the job host |
Measurement
Each trial uses a sandbox created from BoxRouter's pinned standard image.
- Create sandbox, run readiness check, generate the selected payload, drop the page cache on disk variants where permitted, and wait 60 s for disk writeback to settle. An untimed load step generates the selected payload, records its SHA-256 digest and initial kernel boot ID.
- Call
pause (Pause). - Resume to Data Read Immediately call
resume (Resume). Timed - Read the file with
dd (Read). Timed The data read-back command reads the entire payload with dd (iflag=direct where supported) and verifies its SHA-256 digest. - Record the kernel boot ID and destroy sandbox.
The 5 data-load variants are Empty (4096-byte marker file), 1 GiB in memory (pinned in a live process), and 1 GiB, 2 GiB, or 4 GiB on disk (4 GiB is the default headline variant). Every payload is filled from a seeded SHAKE256 stream (seed = 20261004) so storage deduplication or zero-page compression cannot short-circuit the state transfer.
Scope Limits and Caveats
- Evaluates resume time on a single sandbox, sent immediately after the previous pause returns.
- Only providers with an explicit
pause command or equivalent are tested. - This test does not capture providers' ability to scale down or auto-idle/auto-pause.
- A completed
pause() call means the provider reported the sandbox paused, not that all state has reached durable storage, so background uploads after the pause can overlap with resume. - On the disk variants the load script tries to drop the page cache and reads with
dd iflag=direct where supported, and the trial records whether the page cache was dropped and whether reads were direct, as far as the container allowed. - Vercel implements stop and resume by snapshotting the filesystem on stop and booting a new VM from that snapshot on resume.
Failures and Exclusions
Outcome classifications, top-up rounds, and outlier rules follow Common Methodology; the first failed step ends the trial without in-trial retries.
Providers without pause and resume support in BoxRouter are shown as Not Supported. A trial succeeds only when pause, resume, and Read complete within timeout, the post-resume SHA-256 digest and byte count match the pre-pause payload, and the sandbox is confirmed destroyed.
| Step | Time Limit |
| Create | 5 min |
| Load data | 15 min |
| Pause | 5 min |
| Resume | 5 min |
| Read data after resume | 15 min |
| Destroy | 5 min |
Statistics
- Based On
-
Common Methodology
Per-unit percentiles, bootstrap confidence intervals, and tail rules follow Common Methodology.
A provider is ranked on a variant of Pause and Resume once it has at least 18 successful trials.
Sandbox and Trials
- Image Digest
-
sha256
- Image Version
-
0.3.11
- Image Registry Page
-
View on the Registry
- Pull the Image
-
docker pull ghcr.io/boxrouter/standard-image@sha256:89d4c97048dbdfb8b6d85ad91833962ff38d1c334a5f47e6de80a9762310191b Copy
- Lifetime
-
5.0 min
- Idle Connection Time
-
5.0 min
From Common Methodology
- Idle Connection Exceptions
-
| Provider | Rule | File Transfer Idle Time |
| Daytona | The SDK has no idle-timeout setting. Its command channel keeps its connection open, and its file-transfer channel reconnects after 5 s of idle time. | 5.0 s |
From Common Methodology
- Network Path Attempts
-
10
From Common Methodology
- Mode
-
Single
- Sandboxes per Trial
-
1
- Parallel Trials
-
10
- Concurrent Sandboxes
-
1
Provider Requirements
- Required
-
Pause and Resume
At a Glance
- Metrics
-
- Resume to Data Read
- Resume to First Answer
- Pause to Data Read
- Quantity
-
Time
- Unit
-
Milliseconds (ms)
- Direction
-
Lower Is Better
- Statistic
-
Median
- Clock
-
Job-host clock
- Machine Size
-
2 vCPU / 4 GiB
- Trials
-
20
- Variants
-
- Empty
- 1 GiB in memory
- 1 GiB on disk
- 2 GiB on disk
- 4 GiB on disk