(+Cc: Mark, who’s looked at this part of the code before.) swedebu...@riseup.net skribis:
> I would like guix package -A/s to be faster. > There it takes >3s every time I run the command. On closer inspection, ‘package-transitive-supported-systems’ is responsible for most of the overhead you’re seeing here. On my laptop, if I define it like this in (guix packages): (define package-transitive-supported-systems (const '("x86_64-linux"))) then ‘guix package -A’ drops from 1.5s to 0.6s. The main cost is calling ‘package->bag’, which amounts to doing half of the work towards computing a package’s derivation. This particular change was introduced in 9bf3ced06c42700d6c83ce3a0eda244798104618 so that ‘package-transitive-supported-systems’ would account for implicit inputs. I can’t think of any simple way to optimize it without changing these semantics. Mark? Ludo’.