Skip to content

Add frame times from a headless WebKit build - #38

Merged
mgilardi merged 1 commit into
mainfrom
webkit-benchmark
Nov 11, 2026
Merged

mgilardi merged 1 commit into
mainfrom
webkit-benchmark

Conversation

@mgilardi

Copy link
Copy Markdown
Collaborator

Adds a second section to docs/benchmarks-browser.md, from Playwright's headless build of WebKit 27.2 on the same M2 Max Mac.

  • The canvas kept to 60 frames a second at every size, up to 19,999 nodes.
  • SVG kept up through 1,999 nodes and dropped frames at 4,999 (33% late at pixel density 1 and 56% at 2, while panning).
  • scripts/bench-browser.mjs notices a clock that ticks in whole milliseconds, says so in the section and prints no decimal places.
  • The README, backlog, changelog and test audit now say what is and isn't measured.

Not measured: Safari itself, the Mac app's web view, Firefox, a window on a real screen, a real slow device. No slowed-thread pass in WebKit, since that throttle is Chrome's. The WebKit run was driven by hand with playwright-core, which isn't a dependency of this repo; the doc says how it was done.

Tested: 527 unit tests pass locally, the leak check and the brand check pass, and the Chrome section regenerates byte for byte from its saved numbers. The script has no tests of its own.

🤖 Generated with Claude Code

The browser benchmark had one section, from Chrome. WebKit is the engine
Safari and the Mac app use, so the doc now has a section from Playwright's
headless build of WebKit 27.2 on the same machine: the canvas kept to 60
frames a second at every size up to 19,999 nodes, and SVG kept up through
1,999 nodes and dropped frames at 4,999.

WebKit's clock ticks in whole milliseconds. The script now notices that,
says so in the section and prints no decimal places, since "0.0 ms" would
claim more than was measured.

The WebKit run was driven by hand with playwright-core, which is not a
dependency here; the doc says how. Still not measured: Safari itself, the
Mac app's web view, Firefox, a window on a real screen, a real slow
device. There is no slowed-thread pass in WebKit. The script has no tests;
the Chrome section regenerates byte for byte from its saved numbers.

Co-Authored-By: Claude <noreply@anthropic.com>
@mgilardi
mgilardi merged commit d9fcc9c into main Nov 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant