aboutsummaryrefslogtreecommitdiff
path: root/HACKING
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-10-13 23:12:44 +0200
committerLudovic Courtès <ludo@gnu.org>2019-10-14 00:08:10 +0200
commit8f417ed28061c11c7ff2649cfa15e35b00ef9a0b (patch)
treeacfd4a0f0b70ef7ff802777c448942898d3b7c4a /HACKING
parentf618134e4c518e87ea916d717eb25934a0fe7282 (diff)
downloadpatches-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