On Friday, 19 January 2018 13:29:51 GMT Rich Freeman wrote:
> On Fri, Jan 19, 2018 at 12:26 AM, victor romanchuk <r...@persimplex.net> 
wrote:
> >  local:jumbo-build:www-client/chromium: Combine source files to speed up
> >  build process.> 
> > setting that significantly speeds up emerge time (tried it twice; the
> > second attempt had the flag set)
> > 
> > $ qlop -gHv -d `date +%Y-%m-%d` chromium
> > chromium-63.0.3239.132: Fri Jan 19 03:15:43 2018: 1 hour, 47 minutes, 28
> > seconds chromium-63.0.3239.132: Fri Jan 19 06:11:06 2018: 1 hour, 16
> > minutes, 14 seconds chromium: 2 times
> 
> There is a CPU-memory tradeoff here.  Combining source files reduces
> duplication of #include directives which greatly cuts down on the
> number of lines of code going into the compiler, but the individual
> files being compiled are larger.
> 
> I have a 12 SMT-core Ryzen 5-1600, and 16GB of RAM.  I can't even
> build chromium on a tmpfs because the RAM+space requirements have
> grown, so I build on an SSD.  Even without the tmpfs I have to reduce
> make to -j11 or it will OOM during a build WITHOUT the jumbo-build
> flag.  So, I'm already hitting RAM limitations on build time.
> 
> That said, I've experimented with some build times and I found that I
> can build chromium faster with -j8 using jumbo-build (the max # jobs I
> can run reliably without OOM) than I can build it with -j11 without
> using the new feature.  I'll also note that to do this I have to make
> sure nothing else is compiling at the same time, and sometimes I end
> up stopping a container that runs mono for good measure.
> 
> I do use ccache in general with chromium but I did my benchmarking without
> it.
> 
> I suggest experimenting with jumbo-build, and consider reducing
> parallel jobs if you run into OOM, but depending on your system you
> might find it not worth the trouble.
> 
> One thing I haven't experimented with is reducing -j even further and
> then moving back to a tmpfs.  I could easily see a tmpfs for building
> outperforming jumbo-build even if I end up at -j4 or less.  Then
> again, the SSD probably isn't as bad a drag as a spinning disk would
> be.
> 
> I was chatting with somebody (I think on reddit) who mentioned
> jumbo-build worked fine on a threadripper with 64GB of RAM (that would
> be -j32 I suppose).  I bet that with even a few more GB of RAM I could
> probably max out my 12 SMT cores.
> 
> I can't wait to see how chromium-64 behaves.  The RAM requirements
> have been steadily going up.  I have an older system with only 4GB RAM
> and it struggles to even build chromium at all.

On my old i7 laptop it eats up all 4G of RAM and 4G of swap before it conks 
out.  So, I dropped the jobs to 3 and --load-average to 2, added a swapfile to 
increase disk space and it now builds in around 13 hours.

I have not used jumbo-build, but perhaps I should?
-- 
Regards,
Mick

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to