Bug 205957 - We should pass in -parallelizeTargets for the JavaScriptCore xcodebuild
Summary: We should pass in -parallelizeTargets for the JavaScriptCore xcodebuild
Status: REOPENED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Saam Barati
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2020-01-08 14:28 PST by Saam Barati
Modified: 2020-01-09 17:45 PST (History)
16 users (show)

See Also:


Attachments
patch (10.49 KB, patch)
2020-01-08 14:59 PST, Saam Barati
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Saam Barati 2020-01-08 14:28:30 PST
...
Comment 1 Saam Barati 2020-01-08 14:59:27 PST
Created attachment 387144 [details]
patch
Comment 2 Keith Miller 2020-01-08 15:09:24 PST
Comment on attachment 387144 [details]
patch

r=me.
Comment 3 WebKit Commit Bot 2020-01-08 16:13:33 PST
Comment on attachment 387144 [details]
patch

Clearing flags on attachment: 387144

Committed r254234: <https://trac.webkit.org/changeset/254234>
Comment 4 WebKit Commit Bot 2020-01-08 16:13:35 PST
All reviewed patches have been landed.  Closing bug.
Comment 5 Radar WebKit Bug Importer 2020-01-08 16:14:14 PST
<rdar://problem/58425712>
Comment 6 Alexey Proskuryakov 2020-01-08 19:16:49 PST
Why only JavaScriptCore though?
Comment 7 Keith Miller 2020-01-08 19:18:46 PST
(In reply to Alexey Proskuryakov from comment #6)
> Why only JavaScriptCore though?

IIUC, the other projects' targets don't have their dependences correctly configured to work with parallel builds.
Comment 8 Saam Barati 2020-01-08 19:21:15 PST
(In reply to Alexey Proskuryakov from comment #6)
> Why only JavaScriptCore though?

JavaScriptCore gets a lot of benefit since we have many test binaries we build after it.

We should enable this for others too, eventually. Just need to go through to see which build targets would benefit
Comment 9 Saam Barati 2020-01-08 19:24:44 PST
I forgot to mention in the changelog, but this saves 20 seconds of build time on my MBP with 6 cores
Comment 10 Saam Barati 2020-01-08 22:43:51 PST
Comment on attachment 387144 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=387144&action=review

> Source/JavaScriptCore/ChangeLog:4
> +        build-jsc should invoke make instead of calling xcodebuild directly
> +        https://bugs.webkit.org/show_bug.cgi?id=205960

oops, this was the wrong bug :(
Sorry
Comment 11 Alexey Proskuryakov 2020-01-09 08:50:44 PST
Rolling back in bug 206011, because this broke production builds.

> IIUC, the other projects' targets don't have their dependences correctly configured to work with parallel builds.

In my testing, JavaScriptCore was the only one that wasn't correctly configured. Everything else built fine - although that could be accidental of course.

> Just need to go through to see which build targets would benefit

All of WebKit builds 80 seconds faster on an 18-core iMac Pro with this.
Comment 12 Saam Barati 2020-01-09 16:41:24 PST
(In reply to Alexey Proskuryakov from comment #11)
> Rolling back in bug 206011, because this broke production builds.
> 
> > IIUC, the other projects' targets don't have their dependences correctly configured to work with parallel builds.
> 
> In my testing, JavaScriptCore was the only one that wasn't correctly
> configured. Everything else built fine - although that could be accidental
> of course.
> 
> > Just need to go through to see which build targets would benefit
> 
> All of WebKit builds 80 seconds faster on an 18-core iMac Pro with this.

Do you know if all of the benefit is inside JavaScriptCore?
Comment 13 Saam Barati 2020-01-09 16:43:11 PST
This was rolled out because it broke some apple internal build infrastructure
Comment 14 Saam Barati 2020-01-09 16:48:42 PST
(In reply to Saam Barati from comment #13)
> This was rolled out because it broke some apple internal build infrastructure

It was rolled out in:
https://trac.webkit.org/changeset/254262
Comment 15 Alexey Proskuryakov 2020-01-09 17:45:37 PST
> Do you know if all of the benefit is inside JavaScriptCore?

I do not know for sure, but my expectation is that it's in other projects too.