Message ID | 20201227141327.10827-1-ludo@gnu.org |
---|---|
Headers | show |
Series | Zstd support for 'guix publish' and 'guix substitute' | expand |
Hello Ludo, > 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"? Once we have better visibility on zstd, I think we should consider making those bindings mandatory for consistency with the other Guile compression libraries. Otherwise, the whole patchset seems fine :). Thanks, Mathieu
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’.
Pushed as e28d2cdd753f5c224853f3d9ffe63f848709b41a, along with Jonathan’s suggestion regarding the manual. I’ll follow up with a ‘guix’ package update and adding the dependency on guile-zstd. Ludo’.