guix/gnu
Ludovic Courtès 2a4309de43
services: 'fold-services' memoizes service values.
Previously 'fold-services' could end up traversing the same services in
the graph several times, which is what this change addresses.

The hit rate on the 'add-data-to-store' cache goves from 9% to 8% on
"guix system build desktop.tmpl -nd", and the number of lookups in that
cache goes from 4458 to 4383.

* gnu/services.scm (fold-services): Turn 'loop' into a monadic procedure
in %STATE-MONAD and use it to memoize values of visited services.
2019-11-09 23:04:14 +01:00
..
bootloader
build
installer
machine
packages gnu: perl-file-configdir: Update to 0.021. 2019-11-09 22:49:05 +02:00
services services: hpcguix-web: Delete lock files during activation. 2019-11-09 23:04:14 +01:00
system file-systems: Mount /var/run/nscd read-write in containers. 2019-11-04 23:35:32 +01:00
tests tests: Update references to the now-deprecated 'guile-json' variable. 2019-11-09 23:04:14 +01:00
artwork.scm
bootloader.scm
ci.scm
installer.scm
local.mk gnu: fribidi: Fix CVE-2019-18397. 2019-11-09 21:07:10 +02:00
machine.scm
packages.scm
services.scm services: 'fold-services' memoizes service values. 2019-11-09 23:04:14 +01:00
system.scm
tests.scm