From c7682297fae7b6245f140fa30de82a76a710c8fe Mon Sep 17 00:00:00 2001 From: iris <2+iris@noreply.localhost> Date: Sat, 5 Sep 2026 23:49:02 -0400 Subject: [PATCH] docs/bench: Compose bench v2 report from Iris's phone, verbatim Co-Authored-By: Claude Fable 5.1 --- docs/bench/compose-phone-v2-2026-09-06.md | 93 +++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 docs/bench/compose-phone-v2-2026-09-06.md diff --git a/docs/bench/compose-phone-v2-2026-09-06.md b/docs/bench/compose-phone-v2-2026-09-06.md new file mode 100644 index 0000000..699ea24 --- /dev/null +++ b/docs/bench/compose-phone-v2-2026-09-06.md @@ -0,0 +1,93 @@ +# Compose bench v2 report from Iris's phone, 2026-09-06 + +Bench v2 (fling / stream / type / keyboard, RUST.md's P0 box) on the +Compose `bench` build, run by Iris on her Pixel 9 Pro XL, verbatim. Note +the display was at **60 Hz** for this run (16.7 ms budget) where the v1 +run was at 120 Hz -- the phone's adaptive refresh rate decides, and +`late` is judged against whichever it was, so compare a run with a run at +the same rate. The iris v2 report goes beside this when it exists. + +What it says: fling, type and keyboard are all essentially clean on +Compose (0.1%, 0.9% and 0% late; fling p50 5.5 ms, p99 11.6 ms). The +whole tail is the streaming phase again -- 41.9% late, p99 42.5 ms, +driven by `markdown reparsed while streaming` (8.6 ms mean, 30.3 ms +worst) and `record: one block` (6.3 ms mean, 25.5 ms worst). Process CPU +69.6 s over the 125.5 s run; peak RSS 577 MB; battery current mean +571 mA over 126 samples. + +``` +ai-app render report +device: Pixel 9 Pro XL (Google), Android 17 +build: release + +transcript: + 108 events, 26 rows, 58 units loaded + viewport 1531px, 2 units visible + on screen: the list's own 0px, AssistantMsg 24520px + 0 tool calls and 0 groups open + +per phase: + fling: 3278 frames over 32.7s + late: 4 (0.1%) + total p50 5.5ms p90 8.7ms p99 11.6ms + worst 49.0ms + stream: 1041 frames over 21.3s + late: 436 (41.9%) + total p50 13.4ms p90 31.7ms p99 42.5ms + worst 52.5ms + type: 2446 frames over 61.5s + late: 23 (0.9%) + total p50 7.3ms p90 13.2ms p99 16.5ms + worst 38.9ms + keyboard: 358 frames over 10.0s + late: 0 (0.0%) + total p50 6.3ms p90 8.6ms p99 11.1ms + worst 12.0ms + +frames: + 7122 frames over 125.5s at 60Hz (16.7ms budget) + late: 463 (6.5%) + total p50 6.0ms p90 13.8ms p99 34.0ms + waited p50 0.5ms p90 1.1ms p99 19.9ms + input p50 0.0ms p90 0.0ms p99 0.0ms + anim p50 0.7ms p90 4.5ms p99 7.6ms + layout p50 0.1ms p90 0.1ms p99 0.2ms + draw p50 0.7ms p90 2.9ms p99 21.9ms + sync p50 0.1ms p90 0.2ms p99 0.6ms + issue p50 1.4ms p90 2.4ms p99 3.2ms + swap p50 0.4ms p90 0.8ms p99 1.2ms + gpu p50 1.5ms p90 2.1ms p99 6.6ms + +where the draw phase went: + draw phase 1.74ms per frame, of which: + the transcript: 0.24ms (measure 0.10, place 0.14, record 0.00) + everything else: 1.51ms (86%) + +work since this was last copied: + draw: the whole transcript: 280, 1.9ms total, 0.0ms mean, 0.0ms worst + grouped tool runs: 407, 18.6ms total, 0.0ms mean, 0.2ms worst + markdown cut into pieces: 40, 0.4ms total, 0.0ms mean, 0.0ms worst + markdown parsed while composing: 2, 1.6ms total, 0.8ms mean, 1.1ms worst + markdown ready: 323 + markdown reparsed while streaming: 395, 3406.9ms total, 8.6ms mean, 30.3ms worst + markdown warmed: 40, 38.2ms total, 1.0ms mean, 4.3ms worst + measure: the whole transcript: 1978, 683.9ms total, 0.3ms mean, 15.9ms worst + message composed: 397 + message cut into parts: 40, 2.9ms total, 0.1ms mean, 0.2ms worst + place: the whole transcript: 4308, 996.0ms total, 0.2ms mean, 2.4ms worst + record: one block: 394, 2472.7ms total, 6.3ms mean, 25.5ms worst + session screen recomposed: 1630 + status row recomposed: 1 + transcript page from server: 10 + unit composed: 927 + units flattened: 408, 85.5ms total, 0.2ms mean, 1.8ms worst + +bench: + fling: 8 flings out + 8 back at 12000px/s, travel start=idx=0/off=0px outward=idx=188/off=182px end=idx=0/off=0px + scroll: 6 cycles (24 swipes, legacy tween), streamed 400/400 fixture events + type: 600 characters inserted then deleted, one per 50ms + keyboard: shown 5/5, hidden 5/5 (confirmed via isImeVisible) + process CPU time over this run: 69564ms + peak RSS: 577452kB + battery current: mean -571483µA over 126 samples (min -2361718, max -99218) +```