docs: republish the Linux benchmarks with ghostty's release and felis's display-rate painting #383

Merged
natsukium merged 2 commits from docs/republish-linux-benchmarks into main 2026-09-24 23:04:10 +09:00
Owner

Stacked on #382 (the macOS republish); only the last commit belongs to this PR. Merge #382 first.

The published Linux run (75d08630) predates two things that decide how its figures read: felis painted about 15 frames per second under DOOM-fire, so its frame count carried a "not comparable" caveat, and the field had no ghostty release, so ghostty-tip's ~1 s keystroke latency could not be shown to be tip-only. This republishes the Linux section from a fresh three-round run at 9d1d842f (v0.1.0-rc.6 plus the daemon's flood fixes, #375 and #380).

  • ghostty 1.3.1 beside the tip. 1.3.1 measures 7.0 ms mean latency against the tip's 1,064 ms, so the regression is the tip's alone.
  • DOOM-fire is ranked. The measured build paints at the display rate, so the non-comparability note is gone; felis leads at 2,632 fps (foot 2,324).
  • Sources follow the bench shell: kitty 0.49.0 from nix develop .#bench (#381), ghostty-tip at the commit locked in dev/flake.lock (7c40388), which also retires the "daily build" limit.

Kept honest on the page:

  • The CI runner and the Windows VM stayed up, so the load average started at 3.6 (1.3 last time); ghostty-tip's vtebench legs raised it to 8–12 and foot's following legs ran under that.
  • On the non-fullscreen scrolling rows felis varies 25–50% between rounds; the order is unresolved on three rows, and ghostty-tip is resolved ahead on the two top-region rows.
  • ghostty 1.3.1 caps scrollback by bytes only, so its flood-memory row is not held to the 10,000-line depth.
  • GPU terminals' PSS is 54–64 MB lower than in the morning run while foot's barely moved (shared driver pages); the page already says to compare within one run.

Not investigated: felis's time to first window is 236 ms cold / 174 ms warm, against 197 / 154 in the previous run, while the other terminals moved by 0–8 ms. Load explains part of it at most; the page publishes the figures as measured.

Verified: every leg completed in all three rounds (ghostty-tip's round-1 latency leg passed on the harness's automatic retry); just prose-check clean; treefmt applied.

Stacked on #382 (the macOS republish); only the last commit belongs to this PR. Merge #382 first. The published Linux run (`75d08630`) predates two things that decide how its figures read: felis painted about 15 frames per second under DOOM-fire, so its frame count carried a "not comparable" caveat, and the field had no ghostty release, so ghostty-tip's ~1 s keystroke latency could not be shown to be tip-only. This republishes the Linux section from a fresh three-round run at `9d1d842f` (v0.1.0-rc.6 plus the daemon's flood fixes, #375 and #380). - **ghostty 1.3.1 beside the tip.** 1.3.1 measures 7.0 ms mean latency against the tip's 1,064 ms, so the regression is the tip's alone. - **DOOM-fire is ranked.** The measured build paints at the display rate, so the non-comparability note is gone; felis leads at 2,632 fps (foot 2,324). - **Sources follow the bench shell**: kitty 0.49.0 from `nix develop .#bench` (#381), ghostty-tip at the commit locked in `dev/flake.lock` (`7c40388`), which also retires the "daily build" limit. Kept honest on the page: - The CI runner and the Windows VM stayed up, so the load average started at 3.6 (1.3 last time); ghostty-tip's vtebench legs raised it to 8–12 and foot's following legs ran under that. - On the non-fullscreen scrolling rows felis varies 25–50% between rounds; the order is unresolved on three rows, and ghostty-tip is resolved ahead on the two top-region rows. - ghostty 1.3.1 caps scrollback by bytes only, so its flood-memory row is not held to the 10,000-line depth. - GPU terminals' PSS is 54–64 MB lower than in the morning run while foot's barely moved (shared driver pages); the page already says to compare within one run. Not investigated: felis's time to first window is 236 ms cold / 174 ms warm, against 197 / 154 in the previous run, while the other terminals moved by 0–8 ms. Load explains part of it at most; the page publishes the figures as measured. Verified: every leg completed in all three rounds (ghostty-tip's round-1 latency leg passed on the harness's automatic retry); `just prose-check` clean; treefmt applied.
docs: republish the macOS benchmarks with ghostty's release and resource use
All checks were successful
darwin / detect relevant changes (pull_request) Successful in 4s
darwin / build felis (aarch64-darwin) (pull_request) Has been skipped
darwin / publish felis (aarch64-darwin) (pull_request) Has been skipped
pr / nix flake check (pull_request) Successful in 26s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m35s
pr / wire schema is compatible with the base (pull_request) Successful in 17s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 1m18s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 4s
darwin / darwin docs-only no-op (pull_request) Successful in 0s
windows / cargo clippy (Windows cross) (pull_request) Has been skipped
windows / cargo nextest (Windows) (pull_request) Has been skipped
windows / frontend smoke (Windows) (pull_request) Has been skipped
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been skipped
windows / windows docs-only no-op (pull_request) Successful in 0s
7a1b054143
The published macOS results measured only ghostty's tip, whose throughput
is not what the 1.3.1 release ships, and predated the harness that records
CPU time and peak memory per workload. A new three-round run on the same
machine, with felis carrying the daemon's flood fixes, now reports both
ghostty builds, time to first window for every terminal (ghostty-tip
included, which the old exit-timed startup suite could not measure), and
the resource tables the Linux section already has.

Three findings keep the page honest. felis and alacritty share the lowest
mean latency and their ranges overlap, so no winner is claimed. felis
(cold) reaches its first window before felis (warm) in every round, which
this run does not explain. And every terminal's peak footprint while
drawing is far above its idle figure (felis's client alone holds 430 to
460 MB under load), so the idle table is not a working-set figure.

Assisted-by: Claude Code:Opus 5.5
docs: republish the Linux benchmarks with ghostty's release and felis's display-rate painting
All checks were successful
darwin / detect relevant changes (pull_request) Successful in 4s
darwin / build felis (aarch64-darwin) (pull_request) Has been skipped
darwin / publish felis (aarch64-darwin) (pull_request) Has been skipped
pr / nix flake check (pull_request) Successful in 26s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m35s
pr / wire schema is compatible with the base (pull_request) Successful in 17s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 1m17s
pr / publish felis (x86_64-linux) (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 4s
windows / cargo clippy (Windows cross) (pull_request) Has been skipped
windows / cargo nextest (Windows) (pull_request) Has been skipped
windows / frontend smoke (Windows) (pull_request) Has been skipped
windows / package felis (x86_64-pc-windows-msvc) (pull_request) Has been skipped
darwin / darwin docs-only no-op (pull_request) Successful in 0s
windows / windows docs-only no-op (pull_request) Successful in 0s
da80202f68
The published Linux run predates two changes that decide how its figures
read. felis painted about 15 frames per second under DOOM-fire, so its
frame count was marked not comparable; the build measured here includes
the fix that paints at the display rate, so that caveat is gone and the
figure is ranked like the others. And the field had no ghostty release,
so ghostty-tip's 1 s keystroke latency could not be shown to be a tip
regression; the new ghostty column measures 1.3.1 at 7 ms beside it.

kitty now comes from the bench shell, and ghostty-tip is the commit
pinned in dev/flake.lock rather than a daily build, so the page names
them that way and drops the daily-build limit.

The CI runner and the Windows VM stayed up this time, so the load
average started at 3.6 rather than 1.3; the limits section states it.
PSS for every GPU terminal fell by 54 to 64 MB against the morning run
while foot's barely moved, the same shared-driver-page effect the page
already warns about.

Assisted-by: Claude Code
natsukium deleted branch docs/republish-linux-benchmarks 2026-09-24 23:04:10 +09:00
Commenting is not possible because the repository is archived.
No description provided.