l...@gnu.org (Ludovic Courtès) writes:

> Federico Beffa <be...@ieee.org> skribis:
>
>> The build does finish as I've tested it on my machine before
>> committing the package. However, for some reason, guix needs very long
>> to generate the derivation. On my machine (quad-core Xeon E5520)
>> python2-matplotlib takes ca. 31 mins to start building.
>> Python2-scipy, which includes python2-matplotlib, takes ca. 80 mins.!
>
> Eric Bavier <ericbav...@gmail.com> skribis:
>
>> I wonder if this could this be a result of package-with-python2's
>> behavior of recursively creating new package objects for each input in a
>> package.  As Ludovic suggested, this could easily create very large DAGs
>> that then need to be processed.
>>
>> This behavior of package-with-python2 was giving me a nightmare when
>> trying to code some improvements to `guix refresh -l`, since there would
>> easily become tens or hundreds of logically identical python package
>> objects floating through the package dependency DAG.
>
> Ouch, thanks for putting me on the right track.  Basically
> ‘package-with-explicit-python’ was recursing way too much, leading to
> hundreds of unique package objects, and thus defeating memoization of
> ‘package-derivation’.
>
> Commit 78a2745 fixes that.  ‘guix build python2-matplotlib -n
> --no-substitutes’ takes ~5 seconds on my laptop (which is still too much
> IMO, but that’s another story.)  I’ve thus reinstated numpy, scipy, etc.

This seems to have fixed Hydra as well.  Previously, it was timing out
(after 3 hours) while trying to evaluate jobsets.  Hydra is now building
the xorg-updates branch.

     Thanks!
       Mark

Reply via email to