bench: measure ghostty's release and tip together, and harden wl-latency #379
No reviewers
Labels
No labels
priority/P0
priority/P1
priority/P2
release/v0.1.0
status/blocked
status/planned
type/bug
type/design
type/test-gap
type/tracker
No milestone
No project
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
natsukium/felis!379
Loading…
Reference in a new issue
No description provided.
Delete branch "bench/wl-latency-wouldblock"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The published Linux benchmarks show ghostty-tip at a 965 ms mean keystroke latency. Bisecting shows this is a tip-only regression: 1.3.1 and the commit before upstream's GtkGLArea removal (ghostty-org/ghostty#14052) stay under 30 ms, while every later build sometimes draws a typed glyph only on the renderer's 600 ms cursor-blink tick. The published run had no ghostty release column to show that, and the run that reproduced it also found an instrument crash.
blocking_dispatchandroundtripflush before reading, and the flush returnedWouldBlockon a loaded host, which panicked the leg and recorded it as the terminal's failure. Both calls now poll for writability and retry.--terminalsstill narrows a run.FELIS_BENCH_GHOSTTY_TIP), so it no longer needs a hand fetch and is identified by the commit indev/flake.lock, which lock maintenance advances. macOS keeps--tool.Not included: republishing
docs/reference/benchmarks.mdwith the release column; that waits for the next full run.Verified:
crossterm_test.py(240 tests),nix flake check --no-build, darwin bench-shell evaluation, and a latency run of 1.3.1 and tip through the rebuilt wl-latency.wayland-client's blocking_dispatch and roundtrip flush pending requests before they read, and the flush returns WouldBlock instead of waiting when the compositor has not drained the socket. The instrument treated that as fatal, so on a loaded host a latency leg panicked mid-run ("dispatch: Backend(Io(... WouldBlock ...))") and was recorded as a failure of the terminal under test. Both calls now poll the connection for writability and retry; any other error still aborts. Assisted-by: Claude Code:Opus 5.5