diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-09-03 00:17:27 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-09-05 00:06:47 +0200 |
commit | 14d5ca2e2e57643b6b4acfb980b18b7474c27e7b (patch) | |
tree | de841e553deb26a507e08f32615cbdda9c40e50f | |
parent | f7c9b01f29a3e7a347b9b47db06a7cf1746df521 (diff) | |
download | guix-14d5ca2e2e57643b6b4acfb980b18b7474c27e7b.tar guix-14d5ca2e2e57643b6b4acfb980b18b7474c27e7b.tar.gz |
ui: Initialize %FILE-PORT-NAME-CANONICALIZATION to #f.
This avoids loads of needless 'stat' calls due to the default 'relative
setting and the 'canonicalize-path' calls it leads to. This was
especially visible when 'guix substitute' access files in
/var/guix/substitute/cache.
* guix/ui.scm (run-guix-command): Set %FILE-PORT-NAME-CANONICALIZATION
to #f.
-rw-r--r-- | guix/ui.scm | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/guix/ui.scm b/guix/ui.scm index 906b349845..452d16308e 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -1187,7 +1187,9 @@ found." (let ((command-main (module-ref module (symbol-append 'guix- command)))) (parameterize ((program-name command)) - (apply command-main args)))) + ;; Disable canonicalization so we don't don't stat unreasonably. + (with-fluids ((%file-port-name-canonicalization #f)) + (apply command-main args))))) (define (run-guix . args) "Run the 'guix' command defined by command line ARGS. |