How much time can I save with remote iOS and Android simulators?
One coding agent never waits for a simulator. Six agents on one laptop do. Each agent writes code, builds, then needs a device to install, launch and check the result. Locally, every agent shares a few simulators or emulators and queues for them. On Run Cloud, each agent gets its own device. Set the numbers for your team and see the difference.
Modeled from the assumptions below · not a measurement
Time saved
20min
27% sooner, all 6 tasks done
Local machine
73min
2 shared simulators
run.cloud
53min
6 devices, one per agent
Agent time waiting
30%→ 3%
2.1 → 0.1 agent-hours
+ More assumptions− Fewer assumptions
Where each agent's time goes
Same work, same random durations, same time scale. Hover a block for details. The shaded band on the run.cloud timeline is the time saved.
- Coding
- Building
- Waiting for a device
- On device
Local machine
all done at 73 min · 2.1 agent-hours waitingrun.cloud
all done at 53 min · 0.1 agent-hours waitingAgent time by phase
Coding, builds and on-device checks take the same time in both setups. The whole difference is time spent waiting for a device.
How the saving grows with more agents
With 2 local simulators, run.cloud first finishes more than 10% sooner at 5 agents. With fewer agents, the local machine keeps up.
- Local machine
- run.cloud
Show as a table
| Agents | Local (min) | run.cloud (min) | Saved (min) | Saved | Local waiting (agent-h) | Cloud waiting (agent-h) |
|---|---|---|---|---|---|---|
| 1 | 50 | 51 | -0.7 | -1% | 0.01 | 0.02 |
| 2 | 50 | 51 | -0.7 | -1% | 0.03 | 0.05 |
| 3 | 55 | 51 | 4.2 | 8% | 0.18 | 0.07 |
| 4 | 58 | 53 | 4.3 | 7% | 0.34 | 0.10 |
| 5 | 64 | 53 | 10 | 16% | 0.96 | 0.12 |
| 6 | 73 | 53 | 20 | 27% | 2.05 | 0.14 |
| 7 | 85 | 53 | 31 | 37% | 3.66 | 0.17 |
| 8 | 96 | 53 | 43 | 45% | 5.66 | 0.19 |
| 9 | 107 | 53 | 54 | 50% | 7.98 | 0.22 |
| 10 | 118 | 53 | 64 | 55% | 10.59 | 0.24 |
| 11 | 130 | 53 | 77 | 59% | 13.54 | 0.27 |
| 12 | 141 | 53 | 87 | 62% | 16.90 | 0.29 |
Method
How the model works.
A first-come, first-served queue. It leaves out build contention and simulator crashes, which makes the local machine look better than it is.
The work is fixed first
Each agent gets the same list of loops. Each loop has a coding, build and on-device time, varied by up to 25% with a fixed seed. Both setups run this exact list.
Local machine
When an agent finishes a build, it asks for a device. Requests are served first come, first served. The first use of a device adds a cold boot. A device that last served a different agent adds a reset.
Run Cloud
Each agent claims its own device on its first check and keeps it. Every loop adds an upload of the build. Claim and upload count as waiting.
Time saved
Wall-clock time until the last agent finishes, local minus Run Cloud.
FAQ
Fair questions.
My bottleneck is coding and builds, not simulators. Is this for me?
With one or two agents, probably not: there is no queue, and a cloud device only adds an upload. The picture changes when several agents share one machine. Each one needs a device after every build, and the machine can run only a few simulators at once. Set the sliders to your own numbers and read the result.
Are these numbers measured?
No. This is a model with stated assumptions, not a benchmark of your project. Every assumption is a slider. To measure your own case, log the time of each phase change in your agent harness, run the same tasks on your machine and on Run Cloud, and enter the medians.
Why does the model count upload and claim time against Run Cloud?
Because an agent cannot use a cloud device until the build is on it. The model charges a claim once per agent and an upload every loop, and counts both as waiting, so the comparison does not flatter the cloud.
What does the model leave out?
CPU and memory contention when builds run beside local simulators, simulator crashes and stuck boots. Each of these makes the local machine slower, so leaving them out favors the local setup.
Does this apply to Android emulators too?
Yes. The queue works the same way for iOS simulators and Android emulators. Android emulators usually take longer to cold-boot and use more memory, so set the boot time and the number of local devices to match your machine.
One device per agent.
Give every agent its own iOS simulator or Android emulator, so no agent waits for another to finish its check.