aboutsummaryrefslogtreecommitdiff
path: root/src/xz/hardware.c
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2024-01-23 18:29:28 +0200
committerLasse Collin <lasse.collin@tukaani.org>2024-01-23 18:29:28 +0200
commit6daa4d0ea46a8441f21f609149f3633158bf4704 (patch)
treef8a3fd6fdc49b7eba8c421e3c944a02f8baaaf9c /src/xz/hardware.c
parentCI: Use RISC-V filter when building with BCJ support. (diff)
downloadxz-6daa4d0ea46a8441f21f609149f3633158bf4704.tar.xz
xz: Use threaded mode by defaut (as if --threads=0 was used).
This hopefully does more good than bad: + It's faster by default. + Only the threaded compressor creates files that can be decompressed in threaded mode. - Compression ratio is worse, usually not too much though. When it matters, -T1 must be used. - Memory usage increases. - Scripts that assume single-threaded mode but don't use -T1 will possibly use too much resources, for example, if they run multiple xz processes in parallel to compress multiple files. - Output from single-threaded and multi-threaded compressors differ but such changes could happen for other reasons too (they just haven't happened since 5.0.0).
Diffstat (limited to 'src/xz/hardware.c')
-rw-r--r--src/xz/hardware.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/xz/hardware.c b/src/xz/hardware.c
index c6948821..73bac4a9 100644
--- a/src/xz/hardware.c
+++ b/src/xz/hardware.c
@@ -15,7 +15,7 @@
/// Maximum number of worker threads. This can be set with
/// the --threads=NUM command line option.
-static uint32_t threads_max = 1;
+static uint32_t threads_max;
/// True when the number of threads is automatically determined based
/// on the available hardware threads.
@@ -334,5 +334,9 @@ hardware_init(void)
memlimit_mt_default = mem_ceiling;
#endif
+ // Enable threaded mode by default. xz 5.4.x and older
+ // used single-threaded mode by default.
+ hardware_threads_set(0);
+
return;
}