guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Performance on NFS


From: Ludovic Courtès
Subject: Re: Performance on NFS
Date: Sun, 18 Jun 2017 00:40:19 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Hi!

Roel Janssen <address@hidden> skribis:

> I applied the patch, and here are the results:
>
> address@hidden guix]$ time guixr environment --ad-hoc coreutils --pure -- true
> The following derivations will be built:
>    /gnu/store/0hz8g844432b5h9zbqr9cpsjy0brg15h-profile.drv
>    /gnu/store/wkksb7bbx3jr0p6p5cj4kkphbwday0yd-info-dir.drv
>    /gnu/store/cd2mwx9qprdy23p7j3pik2zs14nifn36-manual-database.drv
> Creating manual page database for 1 packages... done in 1.816 s
>
> real  1m14.686s
> user  0m5.761s
> sys   0m0.498s
> address@hidden guix]$ time guixr environment --ad-hoc coreutils --pure -- true
>
> real  0m34.100s
> user  0m5.599s
> sys   0m0.414s
> address@hidden guix]$ time guixr environment --ad-hoc coreutils --pure -- true
>
> real  0m33.821s
> user  0m5.140s
> sys   0m0.432s

You’re telling me it’s just as bad as before, right?

> address@hidden guix]$ time guixr environment --ad-hoc coreutils --pure 
> --no-substitutes --no-grafts -- true
> The following derivations will be built:
>    /gnu/store/rvh0imjdimwm90nzr0fmr5gmp97lyiix-profile.drv
>    /gnu/store/5hm3v4afjf9gix92ixqzv9bwc11a608s-fonts-dir.drv
>
> real  0m37.200s
> user  0m3.408s
> sys   0m0.284s
> address@hidden guix]$ time guixr environment --ad-hoc coreutils --pure 
> --no-substitutes --no-grafts -- true
>
> real  0m19.415s
> user  0m3.466s
> sys   0m0.306s
> address@hidden guix]$ time guixr environment --ad-hoc coreutils --pure 
> --no-substitutes --no-grafts -- true
>
> real  0m18.850s
> user  0m3.536s
> sys   0m0.346s
> address@hidden guix]$ time guixr environment --ad-hoc coreutils --pure 
> --no-grafts -- true
>
> real  0m16.003s
> user  0m3.246s
> sys   0m0.301s
> address@hidden guix]$ time guixr environment --ad-hoc coreutils --pure 
> --no-grafts -- true
>
> real  0m18.205s
> user  0m3.470s
> sys   0m0.314s
> address@hidden guix]$ time guixr environment --ad-hoc coreutils --pure 
> --no-substitutes -- true
>
> real  0m33.731s
> user  0m5.111s
> sys   0m0.428s
> address@hidden guix]$ time guixr environment --ad-hoc coreutils --pure 
> --no-substitutes -- true
>
> real  0m30.993s
> user  0m5.049s
> sys   0m0.458s
>
> Why is grafting so slow, even if it doesn't have to graft anything?

Grafting leads to a bunch of additional RPCs:

--8<---------------cut here---------------start------------->8---
$ GUIX_PROFILING=rpc ./pre-inst-env guix build coreutils
/gnu/store/mskh7zisxa313anqv68c5lr4hajldjc5-coreutils-8.27-debug
/gnu/store/xbvwxf4k5njnb3hn93xwqlppjkiz4hdv-coreutils-8.27
Remote procedure call summary: 379 RPCs
  build-things                   ...     1
  built-in-builders              ...     1
  valid-path?                    ...     5
  query-substitutable-path-infos ...     8
  query-references               ...    22
  query-valid-derivers           ...    48
  add-text-to-store              ...   294
$ GUIX_PROFILING=rpc ./pre-inst-env guix build coreutils --no-grafts
/gnu/store/mskh7zisxa313anqv68c5lr4hajldjc5-coreutils-8.27-debug
/gnu/store/xbvwxf4k5njnb3hn93xwqlppjkiz4hdv-coreutils-8.27
Remote procedure call summary: 294 RPCs
  built-in-builders              ...     1
  query-substitutable-path-infos ...     1
  build-things                   ...     1
  valid-path?                    ...     5
  add-text-to-store              ...   286
--8<---------------cut here---------------end--------------->8---

So the problem is probably not NFS in this case but rather RPC
performance.

However, I can’t help with this until you drop ‘guixr’ and use
GUIX_DAEMON_SOCKET=guix:// instead.  Hint hint.  ;-)

Thanks for your feedback,
Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]