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

Reply via email to