run the libs tier in parallel
Categories
(Firefox Build System :: General, enhancement)
Tracking
(Not tracked)
People
(Reporter: froydnj, Unassigned)
References
(Depends on 1 open bug)
Details
Attachments
(1 file)
Got tired of seeing very non-parallel builds after compile
was done. Not sure it's as simple as the patch I'm about to post, but maybe it can serve as a starting point.
Reporter | ||
Comment 1•4 years ago
|
||
Any concerns we have about bad actors messing with the libs tier are
pretty small nowadays; a quick skim through Makefile.in files with
libs
rules indicates that libs
is basically used for copying files
and doing Mac-specific application packaging, all of which can run in
parallel.
This change also solves the frustration in a local build of watching
libxul link, then the JS shell, then ipc/app
, etc. etc. I suppose
it's possible that linking too many things all at once can cause
OOMs (especially if we're linking libxul and libxul-gtest
simultaneously), but I don't know if we have the tools to solve that in
the recursivemake backend.
Updated•4 years ago
|
Comment 2•4 years ago
|
||
Linkage doesn't happen in the libs tier anymore. It has been so for a long while. I'd rather move things out of the libs tier into a tier that runs in parallel (misc, I think, does), rather that force libs to be parallel and pay the (random) consequences.
Reporter | ||
Comment 3•4 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #2)
Linkage doesn't happen in the libs tier anymore. It has been so for a long while. I'd rather move things out of the libs tier into a tier that runs in parallel (misc, I think, does), rather that force libs to be parallel and pay the (random) consequences.
Do you think jar manifests can be moved into misc? That's probably 80%+ of the win of doing libs
in parallel to start.
Reporter | ||
Comment 4•4 years ago
|
||
(Parallelizing libs cuts about 20s off a trivial mach build
on my machine, so doing something here seems like a win.)
Updated•4 years ago
|
Reporter | ||
Comment 5•4 years ago
|
||
(In reply to Nathan Froyd [:froydnj] from comment #3)
(In reply to Mike Hommey [:glandium] from comment #2)
Linkage doesn't happen in the libs tier anymore. It has been so for a long while. I'd rather move things out of the libs tier into a tier that runs in parallel (misc, I think, does), rather that force libs to be parallel and pay the (random) consequences.
Do you think jar manifests can be moved into misc? That's probably 80%+ of the win of doing
libs
in parallel to start.
Oh, bother, we probably can't do this because of locale repacks, can we? Moving jar manifests into misc would entail a whole bunch of cascading changes there, wouldn't it?
Comment 6•4 years ago
|
||
(In reply to Nathan Froyd [:froydnj] from comment #5)
Oh, bother, we probably can't do this because of locale repacks, can we? Moving jar manifests into misc would entail a whole bunch of cascading changes there, wouldn't it?
That's bug 1240930, which now has a patch :)
There are a bunch of manual things happening in libs that I'm not too sure about parallelizing. It would be safer overall to move things out of libs than to change how libs works. With its current summary, I'd say this bug is WONTFIX, but we could repurpose it to track moving things out of libs.
Comment 7•4 years ago
|
||
FWIW, with bug 1240930, this is the kind of difference that can be seen on automation:
tier | before | after |
---|---|---|
misc | 5.5s | 6.9s |
libs | 23.7s | 0.4s |
I think we're good for now as far as libs is concerned.
Comment 8•2 years ago
|
||
The bug assignee didn't login in Bugzilla in the last 7 months.
:mhentges, could you have a look please?
For more information, please visit auto_nag documentation.
Updated•2 years ago
|
Description
•