-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Description
[ELF] Parallelize --compress-debug-sections=zlib parallelized --compress-debug-sections=zlib
with an approach like a simplified pigz. ld.lld recently got zstd support (see https://maskray.me/blog/2022-09-09-zstd-compressed-debug-sections for context). I have a pending patch to parallelize --compress-debug-sections=zstd
with zstd API: https://reviews.llvm.org/D133679
@Cyan4973 @terrelln it will be great to have your input on how to use the parallel zstd API :)
A test program (see z.cc
in D133679's comment) using ZSTD_CCtx_setParameter(cctx, ZSTD_c_nbWorkers, th)
+ ZSTD_compressStream2
appears slower than the zstd cli (compiled from the same build). I do not know whether the additional performance gap is due to zstd cli's reading thread (which is difficult to leverage in the linker) or other feature I have missed.
zstd/contrib/pzstd
appears to use an approach similar to pigz and https://reviews.llvm.org/D117853 . Does the approach leverage parallelism more than the ZSTD_c_nbWorkers
API?