guix-patches
[Top][All Lists]
Advanced

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

[bug#45018] [PATCH 0/6] Process and connection reuse for substitutions


From: Ludovic Courtès
Subject: [bug#45018] [PATCH 0/6] Process and connection reuse for substitutions
Date: Thu, 03 Dec 2020 21:52:39 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Ludovic Courtès <ludo@gnu.org> skribis:

> The attached patches optimize substitute downloads by: (1) keeping
> a single ‘guix substitute’ process for all the substitutes (instead
> of respawning a new one each time a store item is substituted), and
> (2) reusing connections to substitute servers in between substitutions.

As an illustration of what happens at the process level, here’s the perf
timechart in the current situation:

PNG image

Here’s the timeline once we’re using an agent:

PNG image

Blue are periods where the process is running, and grey where it’s
idle—e.g., waiting for data.  After each substitution completion,
guix-daemon becomes busy for a little while (computing the hash of the
store item, adding it to the database).  The startup activity of each
‘guix’ process is visible and in the second case it happens only once
for ‘guix substitute’.

Ludo’.

reply via email to

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