Run Cloud

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

Agents working at the same time
Devices your machine runs at once
Code, build and check cycles
Install, launch and verify
+ More assumptions
Per loop
Per loop, same in both setups
First use of each local device
When a device changes agent
Once per agent
Every loop

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 waiting
010203040506070minutes from startAgent 1Agent 2Agent 3Agent 4Agent 5Agent 6

run.cloud

all done at 53 min · 0.1 agent-hours waiting
010203040506070minutes from start20 min savedAgent 1Agent 2Agent 3Agent 4Agent 5Agent 6

Agent 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.

02468agent-hoursLocal machine30% waitingrun.cloud3% waiting

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
minutes until every agent is done050100150123456789101112parallel agentsLocal machinerun.cloud
Show as a table
AgentsLocal (min)run.cloud (min)Saved (min)SavedLocal waiting (agent-h)Cloud waiting (agent-h)
15051-0.7-1%0.010.02
25051-0.7-1%0.030.05
355514.28%0.180.07
458534.37%0.340.10
564531016%0.960.12
673532027%2.050.14
785533137%3.660.17
896534345%5.660.19
9107535450%7.980.22
10118536455%10.590.24
11130537759%13.540.27
12141538762%16.900.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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.