Efraim Flashner <efr...@flashner.co.il> 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 glibc@2.26. I ran it against glibc@2.25 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 glibc@2.25 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’.