RESOLVED FIXED314169
[Build Speed] Split GeneratedSerializers.mm by source domain for parallel compile
https://bugs.webkit.org/show_bug.cgi?id=314169
Summary [Build Speed] Split GeneratedSerializers.mm by source domain for parallel com...
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.