Quirlv0.5.1
ResearchBenchmark archive

Quirl 0.4.0 native release evidence

Canonical Quirl project documentation synced from docs/benchmarks/release-v0.4.0.md.

Recorded 2026-09-30 for the published v0.4.0 release. All four native artifacts passed the enforcing release benchmark with 101 successful PTY samples each. These results measure the exact published executables on the hosted runners below; they do not establish universal latency guarantees.

Release identity

  • Candidate and resolved tag commit: 595f1536e908227a1076d274ea5107c7dfefda7f.
  • Native build and performance run: 36668853231, attempt 1.
  • GitHub release ID: 399726821; published at 2026-09-30T04:49:11Z as a nondraft, non-prerelease, immutable release.
  • Release manifest SHA-256: 91e3b71bedfc9a0cd9769a22ebea635655186fc6c4714c7c48c9992e76343b36.
  • Every entry in the bundle's SHA256SUMS verified before publication was approved, and the four formula hashes in tap PR 28 matched the archives byte for byte.

Each report records the candidate as its clean source revision, with artifact digest, profile, source, and harness identity checks passing.

Native results

All values below are milliseconds except executable bytes. Limits were startup P50 ≤25 ms, first-prompt paint P95 ≤21 ms, and keystroke-to-frame P95 ≤8 ms. Each row completed 101 of 101 requested PTY samples with no recorded sample failure.

TargetExecutable bytesStartup P50First-prompt P95Keystroke P95Result
Linux ARM6412,558,6645.5953133.9481350.644879Pass
Linux x86_6414,629,9767.5238094.8429630.633379Pass
macOS ARM6410,629,04010.76737516.3826251.632875Pass
macOS x86_6412,879,51220.51189519.8439161.263846Pass

Size follows ADR 0036: there is no default executable-size ceiling. All four sizes exceeded the advisory 8 MiB threshold and retained warnings; macOS ARM64 grew by 16,704 bytes over 0.3.0.

Runners and toolchain

TargetGitHub runner labelCPU reported by harnessLogical CPUsOperating system
Linux ARM64ubuntu-24.04-armunknown4Ubuntu 24.04.5 LTS
Linux x86_64ubuntu-24.04AMD EPYC 7763 64-Core Processor4Ubuntu 24.04.5 LTS
macOS ARM64macos-15Apple M1 (Virtual)3macOS 15.7.9 (24G830)
macOS x86_64macos-15-intelIntel(R) Core(TM) i7-8700B CPU @ 3.20GHz4macOS 15.7.9 (24G830)

All builds used Rust 1.97.1 (8bab26f4f, 2026-07-14), LLVM 22.1.6, and Cargo 1.97.1 (c980f4866, 2026-06-30) with the official release profile: optimization z, fat LTO, one codegen unit, stripped symbols, and panic = "unwind".

Exact report files

These are byte-for-byte copies of the schema 8 reports uploaded by the native jobs.

Target and exact reportJSON SHA-256Native job
aarch64-unknown-linux-gnub0573373550c6f366c1fb674fdd5aa936d3bc187340c9210e63757a79990cf5f109740946686
x86_64-unknown-linux-gnud253c87458fe68ff2dd303d6e1541f145ba05a716a52c443b7cd594e45dfccf4109740946809
aarch64-apple-darwin00925905e1b1e17259fd9dcf2b4f0af776e4cde585fe4e591d9ac5d982c13d30109740946793
x86_64-apple-darwin02ff74e2770ef45655b6adf5c8f7bcc21857f289fa695fc016ade920f61b25a7109740946681

Published executable hashes

Each digest below was computed from the bin/quirl bytes inside the published archive.

TargetExecutable SHA-256
aarch64-unknown-linux-gnu9ed58974d6fe7ab57d6d3f3179f3072fdc4ebec90e4ed05bdb187ac5c3391100
x86_64-unknown-linux-gnu384dfd9529dfbbaa3b31197a51df9aae94680707c76af73cab2b5352575de005
aarch64-apple-darwina60744e7ab1a937a5c763c1a7253656f30f0d320a81e58b67aedba5974cd5588
x86_64-apple-darwin381a592deb607e7f29e16c97e6b50b65a5e686bda609ed5309bbbffab44ef582

Preserved earlier attempts

Earlier candidates did not publish a tag or release:

  • Run 36657374419, candidate 75c53fe595b6ab5322b07d4db64b9981ac1e4bc5, passed three targets but missed the macOS ARM64 first-prompt P95 on all three bounded attempts: 24.994959 ms (attempt 1), 26.093459 ms (attempt 2), and 23.983458 ms (attempt 3), against the unchanged 21 ms limit. Their report SHA-256 values are 03cc21293e4d3777922b51cc9cdcb96befcc77d27af7fe8dfae7d9605acc6803, d1b611ba9edb2398c4cbb45ad14aafc23e25d1482f23db01bc2630cfb0622525, and 6af92fc56da70607116e29f81e2958dd8be0cb698307be9942fc215cb724375e.
  • Run 36665750746, candidate 56debdea32e10c153c0368a10a7ec3763e2a0969, added a bounded wait for the load average to settle; the runner stayed at load 7.61 on 3 CPUs after four minutes and missed again (28.21 ms).

To separate a code regression from the environment, temporary A/B runs on the same runner type built the published v0.3.0 source and the 0.4.0 candidate and measured them interleaved. Straight after compilation both missed (v0.3.0 23.25 ms, 0.4.0 23.79 ms). After the load settled both passed (v0.3.0 12.65-18.42 ms, 0.4.0 12.17-14.54 ms). A diagnostic run then showed mds, mds_stores, and mdworker using over 200% CPU while Spotlight indexed the checkout and the fresh build; with mdutil -a -i off the load average fell from about 10 to 1.4 within 90 seconds. The release workflow now turns off Spotlight indexing on macOS runners before building and waits for a settled load before measuring, as documented in the release procedure. No size or latency budget was relaxed.

Method and limitations

The PTY harness uses a private, initially empty home, configuration, history, catalog, project database, and XDG directories shared across its samples. Each sample starts a fresh native process in a 120×40 terminal, answers cursor-position queries, reconstructs the screen, checks the prompt and exact binary identity, then proves editability. Percentiles use nearest-rank selection. Hosted scheduling, virtualization, CPU frequency, other machine load, and filesystem caches are not controlled beyond the documented indexing and settling steps. The reconstructed PTY frame does not measure physical terminal-emulator scheduling or display. This automated evidence does not cover every terminal, visual accessibility scenario, clipboard, IME, or sustained human session, and no human checklist item is inferred from it.

The website recording still shows the v0.3.0 release package; it was not re-recorded for 0.4.0.

Historical 0.3.0 measurements retain their original artifact identities, methodology, limits, and outcomes.

On this page