Przemyslaw Skibinski
Przemyslaw Skibinski
Lzbench creates a thread pool with T threads at the begining and reuses it for compression and decompression with all selected codecs. To use different number of threads for compression...
https://github.com/inikep/lzbench/commits/decomp_threads/ implements support for `-Tc,d` where `c` = compression threads, `d` = decompression threads
`C,D Threads` shows how many threads were used by threadpool. But it shows the total number for all iterations: ``` $ ./lzbench -T4 -ezlib,1/bzip2,9 ../silesia/dickens lzbench 2.1.1 | GCC 14.2.0...
Results with 8 internal threads: ``` $ ./lzbench -t0,0 -eint_mt -I8 ../silesia.tar lzbench 2.1 | GCC 14.2.0 | 64-bit Linux | AMD EPYC 9554 64-Core Processor Compressor name I_Threads Compress....
Results with 1 thread: ``` $ ./lzbench -t0,0 -eint_mt ../silesia.tar lzbench 2.1 | GCC 14.2.0 | 64-bit Linux | AMD EPYC 9554 64-Core Processor Compressor name Compress. Decompress. Compr. size...
@tansy At https://github.com/inikep/lzbench/tree/internal-codec-threads I added all codecs that support internal multi-threading.
fastlzma2 and lzham doesn't work well with MT on my machine but the rest look OK.
The results from `master` branch show that `lzham` is OK but `fastlzma2` uses threads when it shouldn't: ``` lzbench 2.1 | GCC 14.2.0 | 64-bit Linux | AMD EPYC 9554...
I fixed `fastlzma2` and updated https://github.com/inikep/lzbench/commits/internal-codec-threads/
@tansy I just merged to `master`: ``` - improvement: Added the -I# option, which enables compression using # internal (built-in) threads when supported. Currently available for the following compressors: fast-lzma2,...