Skip to content

Performance Results

This page tracks the two release-relevant platforms. macOS arm64 remains the performance baseline. Linux KVM x86_64 is fully exercising the 1.5 release gate: the numbers are acceptable, with storage, snapshot latency, and cold lifecycle readiness still the main Linux gaps.

Linux release validation from the current run: main Python 1627 passed, 78 skipped, coverage 90.09%; release-site shared dist 112 passed; serial timing and benchmark gates 17 passed; Rust line coverage 70.83%. The benchmark artifacts below are from the same Linux x86_64 EROFS + LZ4HC asset set used by the release gate.

  • macOS arm64: 1.3.1782571508
  • Linux KVM x86_64: 1.5.1783712334, July 10, 2026
  • Linux artifacts: benchmarks/capsem-bench/data_1.5.1783712334_x86_64.json, benchmarks/mock-server-protocol/data_1.5.1783712334_x86_64.json, benchmarks/lifecycle/data_1.5.1783712334.json, benchmarks/fork/data_1.5.1783712334.json, benchmarks/parallel/data_1.0.json, benchmarks/route-latency/data_1.5.1783712334.json
  • macOS artifacts: benchmarks/capsem-bench/data_1.3.1782571508_arm64.json, benchmarks/lifecycle/data_1.3.1782571508.json, benchmarks/fork/data_1.3.1782571508.json, benchmarks/route-latency/data_1.3.1782571508.json

Linux is slower than macOS, but remains well inside the release budgets. The gap is concentrated in provision and exec-ready time; running exec latency and forking are closer.

Total lifecycle loop, lower is better macOS arm64 1272.6ms Linux KVM x86_64 1999.1ms Fork mean, lower is better macOS arm64 55.9ms, 15.1 MB image Linux KVM x86_64 169.6ms, 17.5 MB image

Key numbers: Linux provision 799.1ms, exec-ready 901.3ms, running exec 107.8ms, delete 190.9ms; macOS provision 1132.2ms, exec-ready 30.2ms, running exec 28.5ms, delete 81.7ms. Linux 4-VM parallel benchmark completed successfully in 141.23s.

Storage is the largest Linux performance gap. The 1.5 Linux image uses EROFS with LZ4HC; the release result is correct and stable, but the KVM path is still well behind macOS on scratch writes, rootfs reads, and metadata walking.

Scratch sequential throughput, higher is better macOS write/read 1792.8 / 3715.8 MB/s Linux write/read 112.9 / 331.2 MB/s Rootfs and metadata reads, higher is better macOS rootfs 2541.9 MB/s, metadata 125012.6 stats/s Linux rootfs 300.5 MB/s, metadata 29286.2 stats/s

Linux rootfs random 4K read is 7717.7 IOPS; macOS is 29045.2 IOPS. Linux scratch random 4K write/read is 574.7 / 6574.5 IOPS; macOS is 6959.0 / 43921.1 IOPS. Linux large binary cold/warm reads are 329.2 / 5474.9 MB/s; macOS is 2804.6 / 19876.3 MB/s.

CLI startup on Linux is acceptable for the release, but consistently slower than macOS. The slowest path is Gemini startup; AGY and other model client ledger paths passed in Ironbank.

CLI startup mean, lower is better Python: macOS 3.8ms, Linux 19.1ms Node: macOS 28.1ms, Linux 139.1ms Claude: macOS 137.0ms, Linux 765.1ms Gemini: macOS 802.3ms, Linux 2760.4ms

Additional app-side data: Linux Codex startup mean 364.5ms; macOS Codex startup mean 116.9ms. Snapshot operations on Linux remain release-usable: 10-file create/list/changes/revert/delete is 2474.5 / 968.8 / 976.9 / 1356.9 / 992.7ms; 500-file path is 1194.1 / 1018.5 / 1078.3 / 1003.9 / 1022.1ms.

Network protocol overhead is healthy enough for 1.5. Linux local HTTP is close to macOS on small responses, model protocol throughput is slightly higher, and MCP plus DNS ledger checks passed through Ironbank. The large transfer path is the main network gap.

HTTP throughput, higher is better Local HTTP /tiny: macOS 3098.3 rps, Linux 2553.3 rps 10 MiB HTTP transfer: macOS 64.7 MB/s, Linux 31.4 MB/s Model, credential, DNS, and MCP paths Model protocol: macOS 2477.2 rps, Linux 2482.7 rps Credential protocol: macOS 3092.8 rps, Linux 2234.0 rps

Linux local HTTP p95 is 36.2ms; macOS is 35.2ms. Linux model p95 is 37.4ms; macOS is 40.7ms. Linux credential p95 is 42.3ms; macOS is 35.9ms. Linux route contention remains comfortably under budget: /stats p95 under profile writes is 1.180ms against the 15ms gate, with p99 1.341ms against the 40ms release-artifact gate. The Linux guest protocol lanes ran 50,000 requests per scenario with zero failed requests; host-direct protocol lanes were 2487.0 rps for model and 2237.5 rps for credential.