Bug 253601

Summary: Improve build time by reducing includes of GraphicsLayer.h
Product: WebKit Reporter: Brent Fulgham <bfulgham>
Component: WebKit Misc.Assignee: Brent Fulgham <bfulgham>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Local Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 253837    
Bug Blocks:    

Description Brent Fulgham 2023-03-08 13:38:51 PST
Benchmarking indicates that WebPage.h and WebPageProxy.h are expensive:

976056 ms: /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebKit/UIProcess/WebPageProxy.h (included 78 times, avg 12513 ms), included via:
726039 ms: /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebKit/WebProcess/WebPage/WebPage.h (included 60 times, avg 12100 ms), included via:

Code review shows that they are included in many places they are not needed, and that they include expensive headers that increase build time.

This patch improves build times by resolving some of these cases.
Comment 1 Brent Fulgham 2023-03-08 14:33:03 PST
WebPage.h drops from 12.1 seconds to about 7.4 seconds
Comment 2 Radar WebKit Bug Importer 2023-03-08 14:38:00 PST
<rdar://problem/106453112>
Comment 3 Brent Fulgham 2023-03-08 14:40:44 PST
Pull request: https://github.com/WebKit/WebKit/pull/11258
Comment 4 Brent Fulgham 2023-03-08 16:23:26 PST
Pull request: https://github.com/Webkit/WebKit/pull/11258
Comment 5 Brent Fulgham 2023-03-08 22:04:04 PST
Current PR:

Original Build (M1 Pro)
**** Time summary:
Compilation (10257 times):
  Parsing (frontend):         8924.2 s
  Codegen & opts (backend):   3158.1 s

Revised Build (M1 Pro)
**** Time summary:
Compilation (10188 times):
  Parsing (frontend):         8529.2 s
  Codegen & opts (backend):   3150.0 s
Comment 6 Brent Fulgham 2023-03-13 13:33:20 PDT
I split this into a second patch: Bug 253837
Comment 7 EWS 2023-03-20 16:58:03 PDT
Committed 261897@main (308d27ada88a): <https://commits.webkit.org/261897@main>

Reviewed commits have been landed. Closing PR #11258 and removing active labels.