guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

‘package-transitive-supported-systems’ is slow


From: Ludovic Courtès
Subject: ‘package-transitive-supported-systems’ is slow
Date: Mon, 02 Jul 2018 15:36:37 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

(+Cc: Mark, who’s looked at this part of the code before.)

address@hidden 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’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]