Bug 315311
| Summary: | Reduce cost of framework-headers rule invocations | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Brent Fulgham <bfulgham> |
| Component: | New Bugs | Assignee: | Brent Fulgham <bfulgham> |
| Status: | REOPENED | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Bug Depends on: | 315422 | ||
| Bug Blocks: | |||
Brent Fulgham
The script `postprocess-framework-headers-definitions` is sourced on every invocation. That's (currently) 107 lines of bash that runs Perl + JSON parsing per invocation to compute TBA versions from branch_config.json.
While this is effectively a no-op for OpenSource builds, this is a non-zero cost for work that repeats unchanged 3,337 times across the build.
This accounts for about 8.5s of wall clock build time, and was made worse by my patch that enabled script sandboxes.
We can avoid this work by computing this constant (per-build) value once and reusing it for subsequent files in the build phase.
We do this for each project, so that we do not break the non-Engineer build that needs to be able to build projects independently.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/177643527>
Brent Fulgham
This makes up for the ~8-10s cost of Bug 313032.
Brent Fulgham
Pull request: https://github.com/WebKit/WebKit/pull/65458
EWS
Committed 313764@main (8671f597bd6c): <https://commits.webkit.org/313764@main>
Reviewed commits have been landed. Closing PR #65458 and removing active labels.
Jonathan Bedard
Reopened Bugzilla.
REGRESSION(313764@main): 'WKJSSerializedNode' is unavailable: not available on tvOS, tracking revert in https://bugs.webkit.org/show_bug.cgi?id=315422.