Message ID | 20201203101314.10842-1-ludo@gnu.org |
---|---|
Headers | show |
Series | Process and connection reuse for substitutions | expand |
Ludovic Courtès <ludo@gnu.org> writes: > Hi Guix! > > 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. > ... > Anyway, I think it’s a welcome improvement, especially when > downloading lots of stuff such as during the initial system installation. > Plus, there are more deletions than insertions. :-) > > Thoughts? I think this will definitely help my unstable internet connections and slow hdd, thank you!
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’.
Hey Ludo, > 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’. That's a great improvement! Besides a few remarks, it looks good to me! Thanks, Mathieu