Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9823057a18307774342fa90acf9c0e1c189e30a8
https://github.com/WebKit/WebKit/commit/9823057a18307774342fa90acf9c0e1c189e30a8
Author: Zak Ridouh <[email protected]>
Date: 2026-05-06 (Wed, 06 May 2026)
Changed paths:
M Source/WebKit/CMakeLists.txt
M Source/WebKit/DerivedSources-output.xcfilelist
M Source/WebKit/DerivedSources.make
M Source/WebKit/Scripts/generate-serializers.py
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
Log Message:
-----------
[Build Speed] Split GeneratedSerializers.mm by source domain for parallel
compile
<https://bugs.webkit.org/show_bug.cgi?id=314169>
<rdar://176329962>
Reviewed by Geoffrey Garen.
generate-serializers.py emitted a single GeneratedSerializers.mm
(~3.9 MB, ~61s compile) that gated the WebKit build's critical path.
Partition it by the top-level Source/WebKit/<DIR>/ directory of each
input .serialization.in, producing eight TUs that compile in parallel:
Shared 35.2s (2583 specializations)
GPUProcess 14.9s (81)
NetworkProcess 14.7s (24)
WebProcess 14.5s (55)
UIProcess 14.3s (0)
Common 14.2s (18) residual bucket
Platform 14.0s (30)
ModelProcess 13.0s (2)
The Common bucket catches types whose .serialization.in lives outside
Source/WebKit/<DIR>/ (WebCore cross-framework types and the generated
SharedPreferencesForWebProcess); the generator lists them on stderr
so future additions stay visible in review.
* Source/WebKit/CMakeLists.txt:
* Source/WebKit/DerivedSources-output.xcfilelist:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/Scripts/generate-serializers.py:
(derive_source_directory):
(matches_domain):
(SerializedType.__init__):
(SerializedEnum.__init__):
(argument_coder_declarations):
(generate_impl):
(main):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/312747@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications