Subject: [bug#45102] [PATCH 0/4] Making fewer 'stat' calls during startup

From: Ludovic Courtès <[email-masked]>
Date: Tue, 08 Dec 2020 21:24:29 +0100

Hi,

Mathieu Othacehe <[email-masked]> skribis:

>> The semantic difference should be invisible to users: their modules
>> are still visible and usable in manifests, in ‘guix repl’, etc.; they
>> just cannot take precedence over modules from Guile and from the
>> channels.  For instance, one cannot define a (gnu packages base)
>> module or (ice-9 rdelim), drop it in $GUILE_LOAD_PATH, and have that
>> module picked up in lieu of the original one.  I think that’s a
>> reasonable tradeoff.
>
> I think that's reasonable too. I tested it locally and have the
> following command:
>
> strace -c -e stat,openat ./pre-inst-env guix
>
> drop from 1671 calls to 1017 calls, which is nice.

You should try:

  ./pre-inst-env strace -c stat guix

but even then you’ll get more ‘stat’ calls than the ‘guix’ command
provided by ‘guix pull’.

You can run, say:

  strace -c $(make as-derivation)/bin/guix

> The patchset looks good to me.

Cool, thanks!

Ludo’.