docs/bench: the Compose P0 report from Iris's phone, verbatim
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
46246ea511
commit
2aaa3733c3
1 file changed
+73
@@ -0,0 +1,73 @@
|
|||||||
|
# Compose bench report from Iris's phone, 2026-09-06
|
||||||
|
|
||||||
|
The Compose half of P0 (RUST.md), run by Iris on her own phone and pasted
|
||||||
|
back verbatim. The iris half's report goes beside it in this directory
|
||||||
|
when it exists. Her caveat, worth keeping with the numbers: "I don't think
|
||||||
|
this is entirely fair because the UI for iris is more minimal" -- the
|
||||||
|
Compose screen also draws the usage bar, the status row and tool cards,
|
||||||
|
which the iris bench screen does not yet. Her impression of the iris build
|
||||||
|
before its first-touch bug: "it already feels very smooth so far".
|
||||||
|
|
||||||
|
What to read first: the phone runs at 120 Hz, so the budget is 8.3 ms;
|
||||||
|
`late` is measured against that. Compose's tail is the streaming phase --
|
||||||
|
`markdown reparsed while streaming: 396, 8.5ms mean, 25.8ms worst` and
|
||||||
|
`record: one block: 398, 6.3ms mean, 19.9ms worst` -- which is exactly the
|
||||||
|
path iris's `TranscriptScreen::apply` (replace the last row only) is meant
|
||||||
|
to beat. Process CPU over the run is 20.9 s of a 38.5 s run; peak RSS
|
||||||
|
587 MB; battery current mean 419 mA.
|
||||||
|
|
||||||
|
```
|
||||||
|
ai-app render report
|
||||||
|
device: Pixel 9 Pro XL (Google), Android 17
|
||||||
|
build: release
|
||||||
|
|
||||||
|
transcript:
|
||||||
|
43 events, 41 rows, 93 units loaded
|
||||||
|
viewport 1333px, 2 units visible
|
||||||
|
on screen: the list's own 0px, AssistantMsg 24520px
|
||||||
|
0 tool calls and 0 groups open
|
||||||
|
|
||||||
|
frames:
|
||||||
|
1613 frames over 38.5s at 120Hz (8.3ms budget)
|
||||||
|
late: 742 (46.0%)
|
||||||
|
total p50 7.7ms p90 29.2ms p99 41.1ms
|
||||||
|
waited p50 0.5ms p90 12.9ms p99 27.2ms
|
||||||
|
input p50 0.0ms p90 0.0ms p99 0.0ms
|
||||||
|
anim p50 1.1ms p90 5.8ms p99 9.5ms
|
||||||
|
layout p50 0.0ms p90 0.1ms p99 0.2ms
|
||||||
|
draw p50 0.4ms p90 15.9ms p99 27.9ms
|
||||||
|
sync p50 0.1ms p90 0.5ms p99 1.0ms
|
||||||
|
issue p50 1.1ms p90 1.7ms p99 3.0ms
|
||||||
|
swap p50 0.4ms p90 0.5ms p99 0.7ms
|
||||||
|
gpu p50 1.8ms p90 2.1ms p99 6.6ms
|
||||||
|
|
||||||
|
where the draw phase went:
|
||||||
|
draw phase 3.83ms per frame, of which:
|
||||||
|
the transcript: 0.25ms (measure 0.15, place 0.10, record 0.00)
|
||||||
|
everything else: 3.58ms (93%)
|
||||||
|
|
||||||
|
work since this was last copied:
|
||||||
|
draw: the whole transcript: 12, 0.2ms total, 0.0ms mean, 0.0ms worst
|
||||||
|
grouped tool runs: 398, 10.3ms total, 0.0ms mean, 0.1ms worst
|
||||||
|
markdown cut into pieces: 1, 0.0ms total, 0.0ms mean, 0.0ms worst
|
||||||
|
markdown parsed while composing: 7, 3.0ms total, 0.4ms mean, 0.5ms worst
|
||||||
|
markdown ready: 46
|
||||||
|
markdown reparsed while streaming: 396, 3384.6ms total, 8.5ms mean, 25.8ms worst
|
||||||
|
markdown warmed: 1, 1.4ms total, 1.4ms mean, 1.4ms worst
|
||||||
|
measure: the whole transcript: 957, 248.7ms total, 0.3ms mean, 15.7ms worst
|
||||||
|
message composed: 403
|
||||||
|
message cut into parts: 1, 0.1ms total, 0.1ms mean, 0.1ms worst
|
||||||
|
place: the whole transcript: 1319, 162.4ms total, 0.1ms mean, 1.3ms worst
|
||||||
|
record: one block: 398, 2498.7ms total, 6.3ms mean, 19.9ms worst
|
||||||
|
session screen recomposed: 413
|
||||||
|
status row recomposed: 1
|
||||||
|
unit composed: 538
|
||||||
|
units flattened: 399, 44.3ms total, 0.1ms mean, 0.5ms worst
|
||||||
|
usage bar recomposed: 413
|
||||||
|
|
||||||
|
bench:
|
||||||
|
scroll: 6 cycles (24 swipes), streamed 400/400 fixture events
|
||||||
|
process CPU time over this run: 20907ms
|
||||||
|
peak RSS: 587356kB
|
||||||
|
battery current: mean -418509µA over 39 samples (min -1988281, max -107812)
|
||||||
|
```
|
||||||
Reference in new issue
Block a user