[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Performance regression on NFS with new manifest version
From: |
Ludovic Courtès |
Subject: |
Re: Performance regression on NFS with new manifest version |
Date: |
Thu, 09 Nov 2017 10:58:11 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Roel Janssen <address@hidden> skribis:
> Indeed, here's a new strace, without using 'guixr', but instead using
> 'guix' with 'guix-daemon' listening on a TCP port:
>
> $ time strace -c guix package --search-paths -p /gnu/profiles/per-language/r
>
>
> export PATH="/gnu/profiles/per-language/r/bin"
> export R_LIBS_SITE="/gnu/profiles/per-language/r/site-library/"
> export TERMINFO_DIRS="/gnu/profiles/per-language/r/share/terminfo"
> % time seconds usecs/call calls errors syscall
> ------ ----------- ----------- --------- --------- ----------------
> 30.15 0.010014 30 334 162 open
> 24.38 0.008100 5 1518 1285 stat
> 23.29 0.007738 90 86 read
> 11.21 0.003723 12 314 74 futex
> 2.99 0.000994 5 220 mmap
> 2.49 0.000826 5 175 mprotect
> 1.23 0.000407 2 175 close
> 0.72 0.000238 4 66 fstat
> ...
> ------ ----------- ----------- --------- --------- ----------------
> 100.00 0.033219 3335 1535 total
>
> real 1m12.196s
> user 1m10.090s
> sys 0m0.377s
>
> So, I don't think the real issue is on display here, because strace only
> thinks the command took 0.033219 seconds, but it actually too 78.196
> seconds.
The timings above suggest that it’s mostly CPU time, which could be a
computational problem within Guix.
Unfortunately, I cannot reproduce it locally:
--8<---------------cut here---------------start------------->8---
$ guix package -p foo -i r $(guix package -A '^r-' |cut -f1|grep -v
bsgenome|head -100)
[...]
Creating manual page database for 4 packages... done in 0.038 s
pakoj 101 en profilo
La jenaj medi-variablaj difinoj povos esti necesaj:
export PATH="foo/bin${PATH:+:}$PATH"
export R_LIBS_SITE="foo/site-library/${R_LIBS_SITE:+:}$R_LIBS_SITE"
$ time guix package -p foo --search-paths
export PATH="foo/bin"
export R_LIBS_SITE="foo/site-library/"
real 0m1.569s
user 0m1.602s
sys 0m0.008s
$ guix package -p foo -I | wc -l
101
--8<---------------cut here---------------end--------------->8---
Could you try to isolate the problem in a way that I can reproduce it?
Maybe you can first try the same profile on a laptop with a local file
system and local guix-daemon.
Also, you may want to use ‘time’ without ‘strace’ to make sure we’re not
measuring the run-time overhead of ‘strace’.
TIA!
Ludo’.