[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#41702: `guix environment` performance issues
From: |
Lars-Dominik Braun |
Subject: |
bug#41702: `guix environment` performance issues |
Date: |
Thu, 4 Jun 2020 10:23:16 +0200 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
Hi,
I’ve noticed that `guix environment` can be very very slow for some packages.
Whereas usually a call like
time guix environment --ad-hoc <package> -- true
takes 600ms to 1.5s, it takes 8.4s for the package r-learnr on my Ryzen 5 3600
with NVMe SSD, 32G of RAM and a warm cache. This seems to accumulate when
trying to install multiple unrelated “slow” packages into the same environment,
i.e. jupyter (2.9s) + r-rlearnr (8.4s) + r-stm (2.9s) = 12.1s. What these
packages seem to have in common is a deep chain of propagated inputs.
And in fact, if I create artificial test packages where test-999 propagates
test-998, test-998→test-997 and so on the command above takes 1m 9s. A single
package propagating 999 packages takes 4.5s.
Instrumenting guix-environment’s with-store call with statprof I see a lot of
time is spent in the garbage collector:
Total time: 24.672604202 seconds (19.431122691 seconds in GC)
./pre-inst-env guix environment --ad-hoc r-learnr -- true 25,18s user 0,24s
system 308% cpu 8,248 total
More specifically in an anonymous function and reap-pipes, which is a gc hook,
I believe:
% cumulative self
time seconds seconds calls procedure
33.41 14.49 8.24 anon #xbb8480
27.95 6.90 6.90
ice-9/popen.scm:145:0:reap-pipes
4.37 1.08 1.08 anon #xbbdcd8
3.28 0.86 0.81
ice-9/vlist.scm:539:0:vhash-assq
2.40 2.37 0.59 guix/grafts.scm:202:22
Not sure if that helps tracking the issue down though.
Cheers,
Lars
PS: Here’s `guix describe`:
Generation 1 Jun 03 2020 10:38:17 (current)
guix 9ab2790
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 9ab2790e2acf872c0f2cf41ec180de80d1eee3f3
zpid bab33c1
repository URL: https://github.com/leibniz-psychology/guix-zpid.git
branch: master
commit: bab33c19e0f0304d7aa82751653eb85d8cad8c0a
signature.asc
Description: PGP signature
- bug#41702: `guix environment` performance issues,
Lars-Dominik Braun <=