Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 666d88ac852072671a34d0a3f33463609f0fd1a7
https://github.com/WebKit/WebKit/commit/666d88ac852072671a34d0a3f33463609f0fd1a7
Author: Zak Ridouh <[email protected]>
Date: 2026-10-06 (Tue, 06 Oct 2026)
Changed paths:
M Source/cmake/clang-wrapper
M Source/cmake/ninja-wrapper
Log Message:
-----------
[CMake] Only split unified bundles into members when few are dirty
https://bugs.webkit.org/show_bug.cgi?id=326474
rdar://problem/189268524
Reviewed by Pascoe.
ninja-wrapper only used NoBundle when the whole build ran at most 8 commands,
and since links, code signing, Swift and copy steps count, a one-file edit in
WebKit, WebCore or JavaScriptCore (9, 13 and 30 commands) never qualified.
Count only the dirty unified-source compiles instead. After a bundle's first
split, editing another file in WebPage.cpp's bundle takes 8.1 s instead of the
20-30 s compile of the whole bundle plus links.
* Source/cmake/clang-wrapper:
Compile a bundle that has never been split as a whole when more than 2 bundles
are dirty, since the first split costs 2-4x the bundle's CPU time. Pass
WK_UNIFIED_SOURCES_MEMBER_JOBS to the inner ninja.
* Source/cmake/ninja-wrapper:
Count the dirty unified-source compiles rather than all the commands, and split
the cores between the dirty bundles' inner ninjas.
Canonical link: https://commits.webkit.org/322914@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications