about summary refs log tree commit diff
path: root/src/libstore
diff options
context:
space:
mode:
authorAmineChikhaoui <amine.chikhaoui91@gmail.com>2018-02-07T16·54+0100
committerAmineChikhaoui <amine.chikhaoui91@gmail.com>2018-02-07T16·54+0100
commit55ecdfe2a83a161c27d6497733cdc60fa112a43d (patch)
tree65fa86164a490f60aead0ecabb98b38c1c723ccb /src/libstore
parent163e39547ae6f69586e23b85e462bfc5a2131a17 (diff)
make multi threaded compression configurable and use single threaded
by default.
Diffstat (limited to 'src/libstore')
-rw-r--r--src/libstore/binary-cache-store.cc2
-rw-r--r--src/libstore/globals.hh3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/libstore/binary-cache-store.cc b/src/libstore/binary-cache-store.cc
index ab971dd8b6d9..d34adbd60c71 100644
--- a/src/libstore/binary-cache-store.cc
+++ b/src/libstore/binary-cache-store.cc
@@ -149,7 +149,7 @@ void BinaryCacheStore::addToStore(const ValidPathInfo & info, const ref<std::str
     /* Compress the NAR. */
     narInfo->compression = compression;
     auto now1 = std::chrono::steady_clock::now();
-    auto narCompressed = compress(compression, *nar);
+    auto narCompressed = compress(compression, *nar, settings.parallelCompression);
     auto now2 = std::chrono::steady_clock::now();
     narInfo->fileHash = hashString(htSHA256, *narCompressed);
     narInfo->fileSize = narCompressed->size();
diff --git a/src/libstore/globals.hh b/src/libstore/globals.hh
index 20ac8fe4e9ae..aafec2ea269b 100644
--- a/src/libstore/globals.hh
+++ b/src/libstore/globals.hh
@@ -174,6 +174,9 @@ public:
         "Whether to compress logs.",
         {"build-compress-log"}};
 
+    Setting<bool> parallelCompression{this, false, "parallel-compression",
+        "Whether to enable parallel compression, only supported with xz currently"};
+
     Setting<unsigned long> maxLogSize{this, 0, "max-build-log-size",
         "Maximum number of bytes a builder can write to stdout/stderr "
         "before being killed (0 means no limit).",