guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: parallelizing more actions


From: Ludovic Courtès
Subject: Re: parallelizing more actions
Date: Thu, 16 Nov 2017 11:06:09 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)

Efraim Flashner <address@hidden> skribis:

> On Sun, Nov 12, 2017 at 03:31:49PM +0200, Efraim Flashner wrote:
>> On Thu, Nov 09, 2017 at 11:05:59AM +0200, Efraim Flashner wrote:
>> > While rebuilding glibc-final on aarch64 I realized that the 'strip phase
>> > took 235 seconds. The relevant code for 'strip from gnu-build-system is
>> > in guix/build/gnu-build-system.scm, starting at line 340, with the
>> > actual stripping starting at 398. When I changed 'for-each' to
>> > 'par-for-each' the time dropped from 235 seconds to 215, about an 8.5%
>> > savings. I'm pretty sure most of that time was spent failing to strip
>> > certain files, but it is still a savings.
>> > 
>> 
>> These numbers were for address@hidden I ran it against address@hidden on my
>> x86_64 machine with a spinning harddrive and 2 cores, without the patch
>> it took 165.7 seconds (164.6 the second time), with the patch it dropped
>> to 24.3 seconds.
>> 
>> I'll test it with address@hidden on aarch64 later when its not building
>> other things.
>> 
>
> Looks like aarch64 could use some help somewhere. With the patch it took
> 221.9 seconds, without the patch it was 219.8.
>
> so in summary, aarch64 is terrible at stripping, parallel or not, and on
> x86_64 my patch saved 85% of the patching time, despite only using 2 cores.

This is weird.  I don’t see any reason why ‘strip’ would be slower on
aarch64 than elsewhere.  Are you sure it’s not mostly I/O?  It would be
nice to time it and see the real/user/system times.

Thanks,
Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]