Bug 314169

Summary: [Build Speed] Split GeneratedSerializers.mm by source domain for parallel compile
Product: WebKit Reporter: zak ridouh <zakr>
Component: New BugsAssignee: zak ridouh <zakr>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

zak ridouh
Reported 2026-05-05 22:10:03 PDT
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) Critical-path edge: ~61s -> 35.2s. Total specialization count is preserved exactly (2793 ArgumentCoder<T>, matching the prior file). Cross-TU references resolve at link time. 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.
Attachments
Radar WebKit Bug Importer
Comment 1 2026-05-05 22:10:09 PDT
zak ridouh
Comment 2 2026-05-05 22:40:24 PDT
EWS
Comment 3 2026-05-06 16:03:22 PDT
Committed 312747@main (9823057a1830): <https://commits.webkit.org/312747@main> Reviewed commits have been landed. Closing PR #64344 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.