From: ludo@gnu.org (Ludovic Courtès)
To: Roel Janssen <roel@gnu.org>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Performance regression on NFS with new manifest version
Date: Thu, 09 Nov 2017 10:58:11 +0100 [thread overview]
Message-ID: <87tvy3ojt8.fsf@gnu.org> (raw)
In-Reply-To: <87fu9pysaa.fsf@gnu.org> (Roel Janssen's message of "Wed, 08 Nov 2017 11:32:45 +0100")
Roel Janssen <roel@gnu.org> 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’.
prev parent reply other threads:[~2017-11-09 9:58 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-08 11:19 Performance regression on NFS with new manifest version Roel Janssen
2017-08-09 20:39 ` Ricardo Wurmus
2017-08-10 13:02 ` Roel Janssen
2017-08-21 15:49 ` Ludovic Courtès
2017-08-22 15:32 ` Roel Janssen
2017-09-22 9:55 ` Ludovic Courtès
2017-09-22 12:09 ` Roel Janssen
2017-10-05 14:54 ` Ludovic Courtès
2017-10-05 15:13 ` Ricardo Wurmus
2017-11-08 10:32 ` Roel Janssen
2017-11-09 9:58 ` Ludovic Courtès [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87tvy3ojt8.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=guix-devel@gnu.org \
--cc=roel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).