# How fast does a Cua Space start on a Linux server?

On an AWS c7g.2xlarge (Graviton3, 8 vCPU, 16 GB) running Ubuntu 24.04, a new headless gVisor Space ran its first command 350.9 ms after create (p50, n = 30), measured 2026-10-24 with the cua CLI from Cua Spaces 0.15.0.

- Page: https://cua.ai/benchmarks/spaces-cold-start-linux
- Measured: 2026-10-24
- Raw data: https://cua.ai/benchmarks/spaces-cold-start-linux.csv
- Helper script: https://cua.ai/benchmarks/spaces-cold-start-linux/files/cloud_start.py
- build Cua Spaces 0.15.0 linux-arm64 .deb (GitHub release cua-spaces-v0.15.0, published 2026-10-24T19:42Z; sha256 736495d2...d845), binary opt/Cua Spaces/resources/native/cua, `cua --version` = cua 0.9.0; n = 30

## Results

Time from `cua sb create` until `cua sb exec` returns, one Space at a time. Lower is better.

| Measure | Value |
| --- | --- |
| Fastest | 340.4 ms |
| p50 | 350.9 ms |
| p90 | 399.4 ms |
| p99 | 408.3 ms |
| Slowest | 408.6 ms |

## Method

Released `cua` CLI on the box, isolated CUA_HOME, daemon `cua daemon start --foreground`. Serial, n=30. Per sample: t0 before `cua sb create linux --on local --headless --kind container --runtime gvisor --tier slim --name cb-lin-slim-<i> --json`; value = when `cua sb exec <name> -- echo ok` has returned 'ok' (two CLI process launches included). Then `cua sb rm --force` (not timed). Image pulled by a warmup create (excluded). Warm pools off, so each sample is a cold container start.

## Environment

- Machine: AWS EC2 c7g.2xlarge, c7g.2xlarge
- Chip: AWS Graviton3, 8 cores
- Memory: 16 GB
- OS: Ubuntu 24.04.5 LTS, kernel 7.0.0-1014-aws
- Where: AWS us-west-2 (on-demand)
- Kind: container
- Runtime: gvisor (runsc release-20261019.0, Docker 29.1.3)
- Image: ghcr.io/trycua/linux:24.04-slim (cached locally)
- Headless: true
- Load avg before: 0.29
- Other vms: 0
- Network: n/a (local create on the box)
- Warm pools: off (CUA_POOL_AUTO=off, CUA_GVISOR_WARM=0)
- Build: Cua Spaces 0.15.0 linux-arm64 .deb (GitHub release cua-spaces-v0.15.0, published 2026-10-24T19:42Z; sha256 736495d2...d845), binary opt/Cua Spaces/resources/native/cua, `cua --version` = cua 0.9.0
- App: 0.15.0
- cua: 0.9.0

## Caveats

- Timed through the CLI: two CLI process starts (create, then exec) are included.
- The full desktop image, headless, took p50 363.4 ms (n = 30).

## Reproduce

```sh
# Ubuntu 24.04 arm64 with docker.io and gVisor runsc (`runsc install`)
curl -LO https://github.com/trycua/cua/releases/download/cua-spaces-v0.15.0/cua-spaces-0.15.0-linux-arm64.deb && dpkg -x cua-spaces-0.15.0-linux-arm64.deb rel
export PATH="$PWD/rel/opt/Cua Spaces/resources/native:$PATH" CUA_HOME=$PWD/home CUA_POOL_AUTO=off CUA_GVISOR_WARM=0
curl -fLO https://cua.ai/benchmarks/spaces-cold-start-linux/files/cloud_start.py
cua daemon start --foreground &
python3 cloud_start.py local 1 warm --headless --kind container --runtime gvisor --tier slim   # excluded warm-up
python3 cloud_start.py local 30 lin-slim --headless --kind container --runtime gvisor --tier slim
```

## Questions

### Why is this slower than on a Mac?

It's a different machine and a different method: here each sample is timed through two CLI processes (create, then exec) on an 8-vCPU cloud server; the Mac numbers call the SDK directly. The two pages aren't a like-for-like race.

### Can I run this myself?

Yes. The commands under Reproduce use the published Cua Spaces 0.15.0 release and the public trycua/cua repository at the tag cua-spaces-v0.15.0. A `cua bench run` command that wraps them is coming; it isn't in a release yet.
