Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fca080f0d318509fcad24d8705f38a64b5be3a0c
https://github.com/WebKit/WebKit/commit/fca080f0d318509fcad24d8705f38a64b5be3a0c
Author: Elliott Williams <[email protected]>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M Tools/Scripts/measure-build-time
Log Message:
-----------
[Build perf] Add incremental build benchmark to measure-build-time
https://bugs.webkit.org/show_bug.cgi?id=315127
rdar://177469722
Reviewed by Ryan Haddad.
Add an incremental build test which is made up of various subtests. Each
subtest edits a file in WebKit sources and rebuild. Run these after a
clean build, and report them as components of a geometric mean score.
In measure-build-time, allow tasks to contribute their data as subtests
of another test in the final report. Add abstract Test classes to
support making edits to source files as part of the benchmark.
Make some minor changes to the Task interface to make it easier to
define them. Add a `description` field to each task and generate help
text describing what each test does. Adjust logging slightly to make it
easier to see what the test runner is doing between tests.
* Tools/Scripts/measure-build-time:
(Task):
(Task.run):
(CleanBuild):
(CleanBuild.__enter__):
(PatchIncrementalBuild):
(PatchIncrementalBuild.__enter__):
(PatchIncrementalBuild.__exit__):
(make_unified_diff):
(ContentEditIncrementalBuild):
(ContentEditIncrementalBuild.path):
(ContentEditIncrementalBuild.modify_content):
(ContentEditIncrementalBuild.__enter__):
(HeaderCommentIncrementalBuild):
(HeaderCommentIncrementalBuild.modify_content):
(HashCommentIncrementalBuild):
(HashCommentIncrementalBuild.modify_content):
(SourceWTFLogIncrementalBuild):
(SourceWTFLogIncrementalBuild.modify_content):
(IncrementalBuild1):
(IncrementalBuild2):
(IncrementalBuild3):
(IncrementalBuild4):
(IncrementalBuild5):
(IncrementalBuild6):
(IncrementalBuild7):
(NullBuild):
(run_test):
(main):
Canonical link: https://commits.webkit.org/313554@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications