guix-devel
[Top][All Lists]
Advanced

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

How long to compute a package derivation?


From: Ludovic Courtès
Subject: How long to compute a package derivation?
Date: Sun, 24 Nov 2019 22:44:12 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Hello Guix!

I wanted to time ‘package-derivation’ for each package, to see if there
were any outliers.  I came up with the attached script, which led to the
attached result; here’s an excerpt, showing the most “expensive” package
derivations (measurements performed on an i7 laptop with only one run
each, so take with a grain of salt):

--8<---------------cut here---------------start------------->8---
   4.93 ("pigx" . "0.0.3")
   4.55 ("wine64-staging" . "4.18")
   3.96 ("pigx-scrnaseq" . "0.0.8")
   3.88 ("pigx-chipseq" . "0.0.41")
   3.84 ("dxvk" . "1.4.4")
   3.68 ("pigx-rnaseq" . "0.0.10")
   3.67 ("wine64" . "4.0.2")
   3.42 ("pigx-bsseq" . "0.0.10")
   3.03 ("emacs-tide" . "3.2.3")
   2.95 ("diffoscope" . "129")
   2.91 ("kdenlive" . "18.08.1")
   2.89 ("libkomparediff2" . "19.04.1")
   2.83 ("kdevelop" . "5.1.2")
--8<---------------cut here---------------end--------------->8---
 
That doesn’t necessarily reveal anything surprising.  For example, pigx
has 1,316 nodes in its package graph, which map to almost 5K nodes in
the derivation graph, so no wonder it takes time.

For “win64” and “win64-staging”, I found that we’re dragging all of the
i686 nodes, hence the cost: <https://issues.guix.gnu.org/issue/38336>.

Now, this list gives us timing, but not outliers.  What would be
interesting to see is the time normalized by the number of nodes in the
package graph, for instance.

Anyway, perhaps if you look at the ranking of your favorite packages,
you’ll find that something’s fishy, who knows.

Thanks,
Ludo’.

Attachment: prof-packages.scm
Description: the script

Attachment: package-timings.org
Description: the timings


reply via email to

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