BoxRouter

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.

  1. Create a sandbox in the parent process and run the untimed readiness check.
  2. 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
  3. Immediately time the first true command with guest clock reads. Timed
  4. 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

All Methods

Reconnect

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.

Metrics

Loading results…

Measurement

Loading results…

Scope Limits and Caveats

Loading results…

Failures and Exclusions

Loading results…

Statistics

Loading results…

Sandbox and Trials

Loading results…