Reconnect
Builds on Common Methodology
Times a fresh client process attaching to an existing sandbox by its ID and executing its first true command.
Stateless serverless workers, webhook handlers, and agents recovering from a process restart or deploy cannot reuse an in-memory sandbox object; they must attach to an already-running sandbox by its ID from a brand-new client process and issue their first command.
The Reconnect benchmark measures that cold-client attach path (Reconnect): in each trial, a parent process creates a sandbox, and 10 sequential child processes, each spawned fresh on the job host with its own BoxRouter client and zero shared connection state, attach to the sandbox by ID and run true.
View the Procedure View Reconnect Results Download Raw Data View the Parameters
Metrics
Reconnect is the sum of two timed calls: attach (looking up and binding to an already-running sandbox by its ID from a brand-new OS process and BoxRouter client) and true (executing the first true command on that handle), pooled across 10 sequential rounds per trial and 40 trials (400 reconnect rounds total).
| Timed Part | Starts | Ends |
| Attach by id | Attach lookup begins in the fresh process. | The sandbox lookup returns. |
| Run true | The command is dispatched after attach returns. | The result and clock readings return to the new process. |
T_i = \operatorname{median}_{r} \left( a_{i,r} \right) + \operatorname{median}_{r} \left( c_{i,r} \right), L_{i,r} = c_{i,r} - q_{i,r}
-
T_i Reconnect time of trial i: the sum of its median attach time and its median first-command time across its rounds. -
a_{i,r} Job-host duration of the attach lookup in round r of trial i. -
c_{i,r} Job-host duration of the first true command in round r of trial i. -
q_{i,r} Runtime of the first true command in round r of trial i, on the sandbox's guest clock; the median over the rounds is recorded per trial. -
L_{i,r} Latency is the median over a trial's rounds of the first command's total time minus its runtime.
Measurement
Each trial uses a sandbox created from BoxRouter's pinned standard image.
- Create a sandbox in the parent process and run the untimed readiness check.
- Reconnect Time For each of 10 rounds, spawn a fresh child OS process on the job host, initialize a new BoxRouter client (untimed), time the
attach lookup by sandbox ID. Timed - Immediately time the first
true command with guest clock reads. Timed - Destroy the sandbox from the parent process.
Each child Python process starts with a clean address space and zero pooled sockets, so every round measures a cold SDK attach.
Scope Limits and Caveats
- Provider SDKs differ in how much work happens during
attach versus the first command (no provider's attach pre-opens the command execution socket), so the chart compares the combined attach + first command time together. - Starting each child process, loading BoxRouter and building its client happen before the
attach timer starts. - Both
attach and true include the network round trip between the job host and the provider's US region.
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.
A trial succeeds only when all 10 child-process attach rounds complete attach and true with exit code 0, pass the twenty-millisecond /proc/uptime gate, and the sandbox is confirmed destroyed.
| Step | Time Limit |
| Create | 5 min |
| Attach by id | 2 min |
| Run true | 30 s |
| Destroy | 5 min |
Statistics
- Based On
-
Common Methodology
Per-unit percentiles, bootstrap confidence intervals, and tail rules follow Common Methodology.
All 400 rounds across the 40 trials are pooled for the headline median, mean, and p95, with bootstrap confidence intervals resampled at the whole-trial level. A provider is ranked once it has at least 20 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
-
15.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
-
Sequential
- Sandboxes per Trial
-
1
- Parallel Trials
-
10
- Concurrent Sandboxes
-
1
At a Glance
- Metrics
-
- Reconnect Time
- Attach Time
- Total Command Time
- Command Runtime
- Command Round-Trip Time
- Quantity
-
Time
- Unit
-
Milliseconds (ms)
- Direction
-
Lower Is Better
- Statistic
-
Median
- Clock
-
Job-host clock
- Machine Size
-
2 vCPU / 4 GiB
- Trials
-
40
- Variants
-
Attach, then true, 10 rounds