gnu: bootstrap: Cache the 'bootstrap-executable' origins.
This reduces the number of lookups in the 'add-data-to-store' cache from 2705 to 2685 (hit rate: 10% to 9%) when running: GUIX_PROFILING=add-data-to-store-cache guix build libreoffice -nd * gnu/packages/bootstrap.scm (raw-build)[->store]: Use 'lower-object' instead of 'origin->derivation'. This allows the origin-to-derivation mapping to be cached.master
parent
5166d02730
commit
ac19950507
|
@ -33,6 +33,7 @@
|
|||
#:use-module ((guix derivations)
|
||||
#:select (derivation derivation-input derivation->output-path))
|
||||
#:use-module ((guix utils) #:select (gnu-triplet->nix-system))
|
||||
#:use-module ((guix gexp) #:select (lower-object))
|
||||
#:use-module (guix memoization)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (srfi srfi-1)
|
||||
|
@ -348,7 +349,7 @@ or false to signal an error."
|
|||
#:allow-other-keys)
|
||||
(define (->store file)
|
||||
(run-with-store store
|
||||
(origin->derivation (bootstrap-executable file system)
|
||||
(lower-object (bootstrap-executable file system)
|
||||
system)))
|
||||
|
||||
(let* ((tar (->store "tar"))
|
||||
|
|
Reference in New Issue