Subject: Re: [bug#45460] [PATCH 0/5] Zstd support for 'guix publish' and 'guix substitute'

From: Ludovic Courtès <[email-masked]>
Date: Sun, 03 Jan 2021 16:17:53 +0100

Hi,

Mathieu Othacehe <[email-masked]> skribis:

>> Currently ‘guix substitute’ implements the same policy has before,
>> which is to pick the smallest archive when several compression
>> methods are proposed.  The next step will be to make that
>> configurable.
>>
>> Thoughts?
>
> Nice one! What do you have in mind to make it configurable? Pass the
> preferred compression types to the daemon and propagate it to "guix
> substitute"?

I’m not sure.  I thought that perhaps there could be:

  guix-daemon --download-strategy=[speed|bandwidth]

where ‘bandwidth’ would always optimize for bandwidth and thus use the
existing ‘file-size<?’ strategy in ‘narinfo-best-uri’.

For ‘speed’ it’s a bit more complicated though: you have to measure
whether downloads are actually CPU-bound to choose between (say) lzip
and zstd/gzip.  It’s doable but we’d have to say whether it can be made
robust enough.

Letting the user choose the compression type doesn’t have this drawback
but it requires expertise from the user.

> Once we have better visibility on zstd, I think we should consider
> making those bindings mandatory for consistency with the other
> Guile compression libraries.

Yes.

> Otherwise, the whole patchset seems fine :).

Cool, thanks!  I guess I’ll wait until Chris’ patch series has landed
before pushing it, or at least the bit that touches ‘guix substitute’.

Ludo’.