Hello Lars, Lars-Dominik Braun <l...@leibniz-psychology.org> writes:
> Hi Maxim, > >> Judging from the above, it seems this issue has been resolved. > grafting is still a performance issue imo. Compare for example: > > $ time guix environment --ad-hoc --search-paths r-learnr > guix environment --ad-hoc --search-paths r-learnr 5,90s user 0,09s system > 210% cpu 2,844 total > $ time guix environment --ad-hoc --search-paths r-learnr --no-grafts > guix environment --ad-hoc --search-paths r-learnr --no-grafts 2,03s user > 0,08s system 164% cpu 1,277 total I'm opening a new issue to track optimizing the grafting code, since it's independent of environments (grafts are applied anytime a derivation is built, AFAICT). Grafting is inherently IO-bound, since it must scan all the built artifacts of a grafted package (from its dependency that was 'replaced' all the way up), if I understood correctly. "info (guix) Security Updates" gives some information. Perhaps we could benchmark how fast our code currently is for grafting, and compare it with the fastest sed-like utility out there, as a starting point, to have an idea of how much there is to gain from optimization. Maxim