build: compress kernel debuginfo using zstd
authorMatthias Schiffer <mschiffer@universe-factory.net>
Wed, 13 May 2020 18:33:46 +0000 (20:33 +0200)
committerMatthias Schiffer <mschiffer@universe-factory.net>
Sun, 31 May 2020 09:03:31 +0000 (11:03 +0200)
commit4bd7990488b0ca7b5cae16f0a9147a4146759053
treede26803bbf3df9404a7a6af8f72f62416b2b8e4e
parent4696112ea28299a805ef7de5aff32451adfb2fc3
build: compress kernel debuginfo using zstd

zstd with its default settings (compression level -3) compresses better
than bzip2 -9 (which is the default setting), and is an order of magnitude
faster.

I made the following measurements for the most common compression tools
(all standard Debian Buster versions, default flags unless noted
otherwise), using the debug information of a large x86-64 kernel with
ALL_KMODS:

* kernel-debug.tar: 376M
* kernel-debug.tar.gz: 101M, compressed in ~12s
* kernel-debug.tar.bz2: 91M, compressed in ~15s
* kernel-debug.tar.xz: 57M, compressed in ~101s
* kernel-debug.tar.zst: 86M, compressed in ~1s

With zstd, there is still some room for improvement by increasing the
compression, but the slight increase in compression ratio
(22.83% -> 19.46%) does not justify the significant increase in
compression time (about 5 times on my machine) in my opinion.

Note that multithreaded compression (-T argument) does not affect
reproducibility with zstd.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
include/kernel-build.mk