Subject: bug#27780: guix environment to build guile from git required excessive CPU time

From: Mark H Weaver <[email-masked]>
Date: Thu, 20 Jul 2017 23:02:47 -0400

I just ran the following command on my Thinkpad X200 running GuixSD:

  ./pre-inst-env guix environment guile --ad-hoc autoconf automake libtool flex gettext

Using the guix client from a git checkout at v0.13.0-1496-gcfd6a3b1e,
and using guix-daemon from guix-0.13.0-3.b547349.

This command took approximately 20 minutes of CPU time before
downloading anything except possibly some NARINFOs.  During this initial
20 minutes of CPU-bound activity, the only output was 4 occurrences of
the following message:

substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%

The CPU time was roughly evenly split between the following two
processes:

--8<---------------cut here---------------start------------->8---
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      8456 57.0  0.1  37420  7788 ?        Rs   22:27  11:31  \_ /gnu/store/gkv8zl774h2qpa89mrf6d74fry3rsnpa-guix-0.13.0-3.b547349/bin/guix-daemon 8450                guixbuild --max-silent-time 0 --timeout 0 --substitute-urls https://mirror.hydra.gnu.org --gc-keep-derivations=yes --gc-keep-outputs=yes
root      8457 45.0  0.9 124040 38556 ?        Rl   22:27   9:03      \_ /gnu/store/z16li2znnk2pdgrg3ldm34k669pcrdcx-guile-2.2.2/bin/guile --no-auto-compile /gnu/store/gkv8zl774h2qpa89mrf6d74fry3rsnpa-guix-0.13.0-3.b547349/bin/.guix-real substitute --query
--8<---------------cut here---------------end--------------->8---

Immediately before this, I had run the same command but without the
final "gettext" argument, and it ran quite quickly.

I've run a similar command in the last couple of weeks, with the
"gettext" argument, and as I recall it ran reasonably quickly as well.

       Mark