summary refs log tree commit diff
path: root/doc/build.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-06-14 14:51:02 +0200
committerLudovic Courtès <ludo@gnu.org>2020-06-14 15:34:41 +0200
commit9acac9f9c6452cd76a21e52c7e5a33e8384b82b4 (patch)
tree1de74951648d77b4b7ce3d031a75bfc83462c1b8 /doc/build.scm
parent20d9034cc5bdfd0acec24b7589859cc77f5e9164 (diff)
downloadguix-9acac9f9c6452cd76a21e52c7e5a33e8384b82b4.tar.gz
profiles: Fix pathological performance of 'manifest-transitive-entries'.
For packages with lots of propagated inputs,
'manifest-transitive-entries', as called from 'check-for-collisions',
would exhibit pathological behavior.  For example, "guix install cl-ana"
wouldn't complete in 1mn; now, it's down to 20s.

The issue was that manifest entries would never be 'equal?' due to the
delayed field in <manifest-entry>.

* guix/profiles.scm (manifest-transitive-entries): Use a vhash instead
of a set.  Use 'manifest-entry=?' instead of 'equal?' when checking for
equality.
Diffstat (limited to 'doc/build.scm')
0 files changed, 0 insertions, 0 deletions