e2e framework benchmark — ios 2026-10-25

Run eas-ios-argent, started 2026-10-25T23:39:57.034Z

Host
VirtualMac2,1, Apple M4 Pro (Virtual), 10 cores, 40.0 GB RAM, macOS 26.5.2
Toolchain
Xcode 26.6, Java 17.0.19, Node 22.23.1, bun 1.3.14, warden 0.3.1
Host load at start
2.49
Device
warden-iphone-17-1 (ios, iOS 26.5), udid 1EC7DDB8-41DB-4011-B176-759305DCD93E
App
nz.co.delacour.warden.example, hash import:c283eae41c7a, sha256 c283eae41c7a, 96.4 MB
Options
runs 5, retries 0, reboot between no, caffeinated yes
Frameworks
argent 0.30.1

Fairness rules

Summary

FrameworkStatusVersionSuite median (warm)p95RatioCold rep 1Cold-start costPrepareTeardownOverheadPass rateFlakeResidueFootprint (LOC / deps)
argent✓ ok0.30.1134.32 s134.65 s1.00×133.61 s1.01 s1.72 s293 ms163 ms100%0%0 proc / 0 app / 1 path161 LOC / 0 B

Warm suite wall time

Bar = warm median. Whisker = p95. Dot = cold rep 1. Lower is faster; ratios are against the fastest framework.

Warm suite median per framework with p95 whisker and cold rep 1 markerargent 0.30.1: argent 134.32 s · 1.00×050 s100 s150 sargent 0.30.1argent: 134.32 s · 1.00× (p95 134.65 s, cold rep 1 133.61 s)134.32 s · 1.00×

Per-test medians (ms)

Testargent
onboarding steps through to sign-in8301 (1.00×)
invalid email and short password show field errors18221 (1.00×)
a locked account shows the form alert14442 (1.00×)
valid credentials land on todos15416 (1.00×)
add, complete and filter todos21110 (1.00×)
open a todo, mark it done, then delete it19105 (1.00×)
deep link opens a todo by id17811 (1.00×)
settings shows the account, toggles switches and signs out19616 (1.00×)

Median per test

Warm median per test and framework, in millisecondsonboarding steps through to sign-in: argent 8301 ms · 1.00×. invalid email and short password show field errors: argent 18221 ms · 1.00×. a locked account shows the form alert: argent 14442 ms · 1.00×. valid credentials land on todos: argent 15416 ms · 1.00×. add, complete and filter todos: argent 21110 ms · 1.00×. open a todo, mark it done, then delete it: argent 19105 ms · 1.00×. deep link opens a todo by id: argent 17811 ms · 1.00×. settings shows the account, toggles switches and signs out: argent 19616 ms · 1.00×010 s20 s30 sonboarding steps through to sign-inargent: 8301 ms · 1.00×8301 ms · 1.00×invalid email and short password show field errorsargent: 18221 ms · 1.00×18221 ms · 1.00×a locked account shows the form alertargent: 14442 ms · 1.00×14442 ms · 1.00×valid credentials land on todosargent: 15416 ms · 1.00×15416 ms · 1.00×add, complete and filter todosargent: 21110 ms · 1.00×21110 ms · 1.00×open a todo, mark it done, then delete itargent: 19105 ms · 1.00×19105 ms · 1.00×deep link opens a todo by idargent: 17811 ms · 1.00×17811 ms · 1.00×settings shows the account, toggles switches and signs outargent: 19616 ms · 1.00×19616 ms · 1.00×

Spread across warm reps

Whisker = min to max. Shaded box = min to p95. Tick = median. A distribution carries no quartiles, so the box is not an interquartile range.

Warm rep spread per test: min to max whisker, min to p95 box, median tickonboarding steps through to sign-in: argent argent 8.30 s. invalid email and short password show field errors: argent argent 18.22 s. a locked account shows the form alert: argent argent 14.44 s. valid credentials land on todos: argent argent 15.42 s. add, complete and filter todos: argent argent 21.11 s. open a todo, mark it done, then delete it: argent argent 19.10 s. deep link opens a todo by id: argent argent 17.81 s. settings shows the account, toggles switches and signs out: argent argent 19.62 s010 s20 s30 sonboarding steps through to sign-inargent: argent 8.30 s (p95 8.34 s, min 8036, max 8339, n 4)argent 8.30 sinvalid email and short password show field errorsargent: argent 18.22 s (p95 18.26 s, min 18116, max 18262, n 4)argent 18.22 sa locked account shows the form alertargent: argent 14.44 s (p95 14.62 s, min 14422, max 14621, n 4)argent 14.44 svalid credentials land on todosargent: argent 15.42 s (p95 15.70 s, min 15184, max 15696, n 4)argent 15.42 sadd, complete and filter todosargent: argent 21.11 s (p95 21.39 s, min 21043, max 21395, n 4)argent 21.11 sopen a todo, mark it done, then delete itargent: argent 19.10 s (p95 19.41 s, min 18984, max 19409, n 4)argent 19.10 sdeep link opens a todo by idargent: argent 17.81 s (p95 17.99 s, min 17621, max 17986, n 4)argent 17.81 ssettings shows the account, toggles switches and signs outargent: argent 19.62 s (p95 19.76 s, min 19475, max 19764, n 4)argent 19.62 s

Per-step latency

Whisker = min to max. Shaded box = min to p95. Tick = median. Only frameworks that report steps appear.

Step latency per frameworkargent (1192 steps): argent 321 ms · p95 1.82 s01 s2 s3 sargent (1192 steps)argent: 321 ms · p95 1.82 s321 ms · p95 1.82 s
FrameworkStepsMedianp95Max
argent1192321 ms1.82 s2.82 s

Where step time goes

Step scopes differ per tool: warden's one fill step spans the focus tap, select-all, typing and read-back confirm, argent reports a separate idle step and into …, agent-device reports fill and type separately, and tester.army reports locator steps. Compare a verb's share within a tool, not its median across tools.

argent

VerbnShareMedianp95Max
into6827.9%2.15 s2.81 s2.82 s
idle23227.5%925 ms1.04 s1.24 s
visible32018.3%13 ms1.03 s1.04 s
id=38012.8%322 ms352 ms372 ms
launch3210.9%1.80 s1.82 s1.83 s
hidden322.4%16 ms1.05 s1.05 s
open-url40.1%116 ms124 ms124 ms
next-test.yaml280%4 ms6 ms6 ms
other960%1 ms5 ms6 ms

Resources

CPU

CPU use per frameworkHost CPU average: argent 2.7%. Host CPU peak: argent 41.8%. Simulator CPU average: argent 44.5%. Simulator CPU peak: argent 209.9%0%100%200%300%Host CPU averageargent: 2.7%2.7%Host CPU peakargent: 41.8%41.8%Simulator CPU averageargent: 44.5%44.5%Simulator CPU peakargent: 209.9%209.9%

Memory

Peak resident memory per frameworkHost RSS peak: argent 236.7 MB. Simulator RSS peak: argent 10.6 GB0 B4.7 GB9.3 GB14.0 GBHost RSS peakargent: 236.7 MB236.7 MBSimulator RSS peakargent: 10.6 GB10.6 GB
FrameworkScopeCPU-s / repCPU avgCPU peakRSS avgRSS peak
argenthost4.13 s2.7%41.8%181.4 MB236.7 MB
argentsim—44.5%209.9%10.5 GB10.6 GB

CPU-s / rep is the host CPU time of the timed run (warm median) and the headline. CPU avg and peak are ps %cpu, a decaying average on macOS: they move with suite length, do not judge on them.

Where the CPU goes

One table per framework, from the warm-median rep's timed run (the rep whose host CPU-seconds is the lower median). Rows are processes grouped by label (top 12 per scope, the rest in other); host is the framework's own process tree, sim the simulator's launchd_sim tree (iOS only). Share is of the scope's CPU-seconds. RSS is the label's summed RSS per 500 ms tick (0 where it had no process). Spawns counts distinct pids a tick saw: a process that lives between two ticks is only seen through the (exit charge) rows (CPU of a child the bench ran, booked at its exit), so many short-lived xcrun simctl calls read low in Spawns and in CPU.

argent

ProcessScopeCPU-sShareRSS avgRSS peakSpawns
simulator-serverhost3.92 s95.6%96.0 MB96.0 MB1
node argenthost0.18 s4.3%85.7 MB88.1 MB1
node argent (exit charge)host0.00 s0.1%0 B0 B0
(simctl)host0.00 s0.0%0 B0 B0
node tool-server.cjshost0.00 s0.0%0 B0 B0
simctlhost0.00 s0.0%0 B0 B0
system_profilerhost0.00 s0.0%0 B0 B0
wardenexamplesim33.67 s52.9%374.7 MB434.8 MB8
iOSsim24.31 s38.2%9.7 GB9.7 GB106
bun cli.tssim3.34 s5.2%225.2 MB229.3 MB1
pssim1.07 s1.7%1.8 MB1.8 MB267
CoreSimulatorBridgesim0.48 s0.8%117.8 MB118.2 MB1
simctlsim0.41 s0.6%351.9 KB20.5 MB5
launchd_simsim0.21 s0.3%36.9 MB36.9 MB1
xpcproxy_simsim0.15 s0.2%155.7 KB12.1 MB4
(wardenexample)sim0.04 s0.1%1.5 MB395.3 MB1
pkdsim0.00 s0.0%59.0 MB59.0 MB1
aslmanagersim0.00 s0.0%21.1 MB21.1 MB1
caffeinatesim0.00 s0.0%7.2 MB7.2 MB1
othersim0.00 s0.0%0 B0 B0

Residue

Unsupported / failed

None.