Bug 314169
| Summary: | [Build Speed] Split GeneratedSerializers.mm by source domain for parallel compile | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | zak ridouh <zakr> |
| Component: | New Bugs | Assignee: | 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
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 | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/176329962>
zak ridouh
Pull request: https://github.com/WebKit/WebKit/pull/64344
EWS
Committed 312747@main (9823057a1830): <https://commits.webkit.org/312747@main>
Reviewed commits have been landed. Closing PR #64344 and removing active labels.