[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’.