Subject: Re: [bug#43340] [PATCH 0/5] Speed up archive export/import

From: Ludovic Courtès <[email-masked]>
Date: Sun, 13 Sep 2020 15:07:26 +0200

Hi!

Mathieu Othacehe <[email-masked]> skribis:

>>> Specifically, it implements option #4 (spawning ‘guix authenticate’
>>> once for the whole session, instead of spawning it every time a
>>> store item needs to be signed or authenticated), achieving a ~15x
>>> speedup, which is not bad.  :-)
>
> Woo, congrats!

To be clear, it’s 15x on the pathological case where we send only small
store items; the difference is obviously less significant if few store
items are exported or if the store items are large.  Now, I expect it to
make a noticeable difference on the typical build farm workload.

>> Below is the new Gantt chart for:
>>
>>   perf timechart record guix archive --export -r $(guix build coreutils -d) -v3 >/tmp/dump
>>
>> Most of the work happens in ‘guix authenticate’.
>
> I never used the "timechart" sub-command but it sounds really
> nice. Regarding the option you chose, I think it's the more appropriate
> right now. It's very delicate to dedicate time and effort to tweak
> guix-daemon and how we use it, having in mind that we'd like to get rid
> of it.

Yeah.

> However, the potential short term gains can be so huge, that for now
> it's the best thing to do. I should just do like you, and dive into it
> to see what can be done for contention and locking when using
> 'build-paths' RPC via Cuirass.

Yup, makes sense!

> In the meantime, a short review that I hope to complete next week.

Thanks for your feedback!

Ludo’.