[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:
Here’s the timeline once we’re using an agent:
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’.
[bug#45018] [PATCH 0/6] Process and connection reuse for substitutions, 宋文武, 2020/12/03
[bug#45018] [PATCH 0/6] Process and connection reuse for substitutions,
Ludovic Courtès <=
- [bug#45018] [PATCH 0/6] Process and connection reuse for substitutions, Mathieu Othacehe, 2020/12/04
- [bug#45018] [PATCH v2 0/6] Process and connection reuse for substitutions, Ludovic Courtès, 2020/12/06
- [bug#45018] [PATCH v2 2/6] daemon: Use 'Agent' to spawn 'guix substitute --query'., Ludovic Courtès, 2020/12/06
- [bug#45018] [PATCH v2 6/6] daemon: Raise an error if substituter doesn't send the expected hash., Ludovic Courtès, 2020/12/06
- [bug#45018] [PATCH v2 1/6] daemon: 'Agent' constructor takes a list of environment variables., Ludovic Courtès, 2020/12/06
- [bug#45018] [PATCH v2 3/6] daemon: Factorize substituter agent spawning., Ludovic Courtès, 2020/12/06
- [bug#45018] [PATCH v2 5/6] substitute: Cache and reuse connections while substituting., Ludovic Courtès, 2020/12/06
- [bug#45018] [PATCH v2 4/6] daemon: Run 'guix substitute --substitute' as an agent., Ludovic Courtès, 2020/12/06
- bug#45018: [PATCH v2 0/6] Process and connection reuse for substitutions, Ludovic Courtès, 2020/12/08