summary refs log tree commit diff
path: root/gnu/services/base.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-04-03 20:37:11 +0200
committerLudovic Courtès <ludo@gnu.org>2021-04-03 22:08:33 +0200
commit58beda01217c48da52e67ac5461f33b6532b5ede (patch)
tree6dd12f10a2cd5706c100adcbd31d5ed06ee62e40 /gnu/services/base.scm
parentb495254efbe79d8240bec844c83baede897b5707 (diff)
downloadguix-58beda01217c48da52e67ac5461f33b6532b5ede.tar.gz
services: guix-publish: Add zstd compression by default.
That way, the default config with (advertises? #t) and without a cache
will offer zstd-compressed substitutes, which should lead to much higher
throughput than gzip.

* gnu/services/base.scm (default-compression): When
'guix-publish-configuration-cache' returns true, use higher level
compression ratios.  Add "zstd".
* doc/guix.texi (Base Services): Mention zstd.
Diffstat (limited to 'gnu/services/base.scm')
-rw-r--r--gnu/services/base.scm6
1 files changed, 5 insertions, 1 deletions
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index a8214ae96f..24b3ea785b 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1816,7 +1816,11 @@ proxy of 'guix-daemon'...~%")
 raise a deprecation warning if the 'compression-level' field was used."
   (match (%guix-publish-configuration-compression-level config)
     (#f
-     '(("gzip" 3)))
+     ;; Default to low compression levels when there's no cache so that users
+     ;; get good bandwidth by default.
+     (if (guix-publish-configuration-cache config)
+         '(("gzip" 5) ("zstd" 19))
+         '(("gzip" 3) ("zstd" 3))))               ;zstd compresses faster
     (level
      (warn-about-deprecation 'compression-level properties
                              #:replacement 'compression)