diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-10-13 23:12:44 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-10-14 00:08:10 +0200 |
commit | 8f417ed28061c11c7ff2649cfa15e35b00ef9a0b (patch) | |
tree | acfd4a0f0b70ef7ff802777c448942898d3b7c4a /HACKING | |
parent | f618134e4c518e87ea916d717eb25934a0fe7282 (diff) | |
download | patches-8f417ed28061c11c7ff2649cfa15e35b00ef9a0b.tar patches-8f417ed28061c11c7ff2649cfa15e35b00ef9a0b.tar.gz |
gnu: commencement: Further optimize the package object graph.
For a package like:
(define-public xxx
(package
(inherit (@ (gnu packages base) coreutils))
(name "xxx")
(inputs (@ (gnu packages commencement) %final-inputs))
(native-inputs '())
(propagated-inputs '())
(arguments '(#:implicit-inputs? #f))))
this reduces the package object graph from 176 nodes (1852 edges) to 113
nodes (1114 edges).
The number of 'add-data-to-store' calls in "guix build coreutils -nd"
drops from 2045 to 1301, and the number of memoization tables drops from
102 to 40.
"guix build libreoffice -nd" goes from 2.40s to 2.27s.
* gnu/packages/commencement.scm (with-boot4): New variable.
(guile-final, glibc-utf8-locales-final): Use it.
(with-boot4, with-boot5): New variable.
(gnu-make-final): Rewrite to avoid 'package-with-explicit-inputs'.
(coreutils-final): Use 'with-boot5' instead of
'package-with-explicit-inputs'.
(grep-final): Likewise.
(with-boot6): New variable.
(sed-final, %final-inputs): Use it.
Diffstat (limited to 'HACKING')
0 files changed, 0 insertions, 0 deletions