diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-07-27 17:58:40 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-07-27 18:26:08 +0200 |
commit | 78daf9e02e5bc51f91488d8237cab2050cc060cf (patch) | |
tree | af92643cf7df04fb742756cd3159cfeb94cc751c /gnu/system.scm | |
parent | 5dc4fe1004b093cda46dc249012688f560544ada (diff) | |
download | guix-78daf9e02e5bc51f91488d8237cab2050cc060cf.tar.gz guix-78daf9e02e5bc51f91488d8237cab2050cc060cf.zip |
derivations: Make 'coalesce-duplicate-inputs' linear in the number of inputs.
Partly fixes <https://issues.guix.gnu.org/49439>.
Reported by Ricardo Wurmus <rekado@elephly.net>.
When running the command:
guix environment pigx-scrnaseq --search-paths --no-grafts
this change reduces total heap allocations from 1.4GiB to 717MiB (49%)
and wall-clock time from 7.5s to 5.7s (24%).
Without '--no-grafts', heap allocations go from 2.1GiB to 1.4GiB (33%)
and wall-clock time from 12.1s to 10.9s (10%).
* guix/derivations.scm (coalesce-duplicate-inputs): Rewrite using a hash
table to make it O(N) rather than O(N²).
Diffstat (limited to 'gnu/system.scm')
0 files changed, 0 insertions, 0 deletions