Hello! swedebu...@riseup.net writes:
> Hi > > I would like guix package -A/s to be faster. > There it takes >3s every time I run the command. I agree that Guix is rather slow when comparing it to traditional package managers such as apt; I think the main reason, as you found, is that it has to load all the byte-compiled package definition files. > Would it be possible to populate an index or something when pulling so > that we have the information in a sqlite-db instead of traversing 40 > go-files with guile? I remember asking Ludovic in #guix if Guile would be able to compete with database software in terms of performance, and he said there are ways we can make it faster. I'm not very knowledgeable myself about Guile but if we could make it support static linking, to load only one binary rather than hundreds in the case of Guix, that would be one way to speed things. Next thing might be to implement native compilation. > On an older guixsd with about 4k packages the delay was noticeably > shorter. I guess the time it takes grows linearly (I hope!) with the number of packages/modules it has to load. We're now at double that amount of packages (IIRC), so Guix might take double the time it used to. > What do you think? Note that if you are using emacs-guix, the packages are kept in memory so the operations there are much faster than when using the CLI. Using an external databases to speed Guix is an interesting idea, but Id rather have a lightning fast Guile in the longer term :) Maxim