[llvm-dev] Default compression level for -compress-debug-info=zlib?
Rui Ueyama via llvm-dev
llvm-dev at lists.llvm.org
Wed Aug 1 17:57:17 PDT 2018
Folks,
I'd like to get expert's opinion on which compression level is suitable for
lld's -compress-debug-section=zlib option, which let the linker compress
.debug_* sections using zlib.
Currently, lld uses compression level 9 which produces the smallest output
in exchange for a longer link time. My question is, is this what people
actually want? We didn't consciously choose compression level 9. That was
just the default compression level for zlib::compress function.
For an experiment, I created a patch to use compression level 1 instead of
9 and linked clang using that modified lld. By default, lld takes 1m4s to
link clang with --compress-debug-sections=zlib. With that patch, it took
only 31s.
Here is a comparison of clang executable size with various configurations:
no debug sections: 275 MB
level 9 compression: 855 MB
level 1 compression: 922 MB
no compression: 2044 MB
Given that the best compression takes significantly longer time than the
fastest compression, we probably should change the default to level 1. Any
objections?
I wonder what is the best compression level when -O2 is passed to lld. We
could use level 9 when -O2 is passed, but is there any reason to compress
debug sections that hard in the first place?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180801/7c57e5c0/attachment.html>
More information about the llvm-dev
mailing list