unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: Mathieu Othacehe <othacehe@gnu.org>
Cc: 45460@debbugs.gnu.org
Subject: [bug#45460] [PATCH 0/5] Zstd support for 'guix publish' and 'guix substitute'
Date: Sun, 03 Jan 2021 16:17:53 +0100	[thread overview]
Message-ID: <87y2hayrq6.fsf@gnu.org> (raw)
In-Reply-To: <87bleb7i9u.fsf@gnu.org> (Mathieu Othacehe's message of "Wed, 30 Dec 2020 10:30:37 +0100")

Hi,

Mathieu Othacehe <othacehe@gnu.org> 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’.




  reply	other threads:[~2021-01-03 15:19 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-27 14:13 [bug#45460] [PATCH 0/5] Zstd support for 'guix publish' and 'guix substitute' Ludovic Courtès
2020-12-27 14:38 ` [bug#45460] [PATCH 1/5] utils: Remove 'compressed-output-port' Ludovic Courtès
2020-12-27 14:38   ` [bug#45460] [PATCH 2/5] utils: Support zstd compression via Guile-zstd Ludovic Courtès
2020-12-27 14:38   ` [bug#45460] [PATCH 3/5] publish: Add support for zstd compression Ludovic Courtès
2020-12-28  9:17     ` Jonathan Brielmaier
2021-01-03 15:18       ` Ludovic Courtès
2020-12-27 14:38   ` [bug#45460] [PATCH 4/5] substitute: Add zstd support Ludovic Courtès
2020-12-27 14:38   ` [bug#45460] [PATCH 5/5] doc: Mention optional dependency on Guile-zstd Ludovic Courtès
2020-12-30  9:30 ` [bug#45460] [PATCH 0/5] Zstd support for 'guix publish' and 'guix substitute' Mathieu Othacehe
2021-01-03 15:17   ` Ludovic Courtès [this message]
2021-01-13 22:08   ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y2hayrq6.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=45460@debbugs.gnu.org \
    --cc=othacehe@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).