diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-11-20 18:44:29 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-11-12 23:37:13 +0100 |
commit | c6080c3249560ef777b9a4eb6a78e7605b8b98d8 (patch) | |
tree | df4d2676a8ca18949f4ff3c9e1d6d54ca7aa8a9b /guix/grafts.scm | |
parent | 9ed86fe175c15c819d6d86681c8136ff6bc927c0 (diff) | |
download | patches-c6080c3249560ef777b9a4eb6a78e7605b8b98d8.tar patches-c6080c3249560ef777b9a4eb6a78e7605b8b98d8.tar.gz |
store: Add a functional object cache and use it in 'lower-object'.
This leads to ~25% improvements on things like:
guix system build desktop.tmpl --no-grafts -d
* guix/store.scm (<nix-server>)[object-cache]: New field.
* guix/store.scm (open-connection): Initialize it.
(cache-object-mapping, lookup-cached-object, %mcached): New procedures.
(mcached): New macro.
* guix/gexp.scm (lower-object): Use it.
* guix/grafts.scm (grafting?): New procedure.
Diffstat (limited to 'guix/grafts.scm')
-rw-r--r-- | guix/grafts.scm | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/guix/grafts.scm b/guix/grafts.scm index f303e925f1..01e245d8eb 100644 --- a/guix/grafts.scm +++ b/guix/grafts.scm @@ -40,7 +40,8 @@ graft-derivation/shallow %graft? - set-grafting)) + set-grafting + grafting?)) (define-record-type* <graft> graft make-graft graft? @@ -328,6 +329,11 @@ it otherwise. It returns the previous setting." (lambda (store) (values (%graft? enable?) store))) +(define (grafting?) + "Return a Boolean indicating whether grafting is enabled." + (lambda (store) + (values (%graft?) store))) + ;; Local Variables: ;; eval: (put 'with-cache 'scheme-indent-function 1) ;; End: |