It seems that LZMA compressor does ignore advenced option “–compression-extension-file: default_compressed_extensions.txt” and compress already compressed files anyway.
I have a test folder with various .pdf files, I’ve added manually the “.pdf” (but this bug “works” with other default extensions as .mp3) extension to the “default_compressed_extensions.txt” file and run a few tests. Folder size is about 2.75 GB:
zip-compression-method - LZMA - default_compressed_extensions.txt with .pdf - takes about 13min.
zip-compression-method - LZMA - default_compressed_extensions.txt without .pdf - takes about 12min.
zip-compression-method - Deflate - default_compressed_extensions.txt with .pdf - takes about 0:56 sec.
zip-compression-method - Deflate - default_compressed_extensions.txt without .pdf - takes about 2:30 min.
Default “deflate” method correctly process already compressed files (according to “default_compressed_extensions.txt” ) and doesn’t compress them. LZMA mode does ignore these extensions and compress them anyway (thus no difference in profile execution time). I’m using Duplicati version 2.0.5.1_beta_2020-01-18.
C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18>Duplicati.CommandLine.exe help zip-compression-method
--zip-compression-method (Enumeration): Sets the Zip compression method
This option can be used to set an alternative compressor method, such as
LZMA. Note that using another value than Deflate will cause the
zip-compression-level option to be ignored.
* values: None, Deflate, BZip2, LZMA, PPMd
* default value: Deflate
C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18>
That’s correct. Other value than Deflate will not only cause “zip-compression-level” option to be ignored but “compression-extension-file” option will be ignored as well.
Maybe indirectly. It might not be ignored at all, but just unable to change the zip compression level.
Feel free to open an Issue requesting further research, and clarification of any second-level effects.
EDIT:
Ideally the documentation would also talk in the reverse, e.g. the affected options can also mention.
C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18>Duplicati.CommandLine.exe help zip-compression-level
--zip-compression-level (Enumeration): Sets the Zip compression level
This option controls the compression level used. A setting of zero gives
no compression, and a setting of 9 gives maximum compression.
* values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
* default value: BestCompression
C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18>Duplicati.CommandLine.exe help compression-extension-file
--compression-extension-file (Path): Manage non-compressible file extensions
This property can be used to point to a text file where each line contains
a file extension that indicates a non-compressible file. Files that have
an extension found in the file will not be compressed, but simply stored
in the archive. The file format ignores any lines that do not start with
a period, and considers a space to indicate the end of the extension. A
default file is supplied, that also serves as an example. The default
file is placed in
C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18\default_compre
ssed_extensions.txt.
* default value:
C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18\default_compre
ssed_extensions.txt
C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18>
Yeah… probably it is a just problem with constant (non-changeable) compression level in the lzma mode. Thanks for tip about git page (it is probably above my level of knowledge, but who knows). And yes, documentation should mention about further consequences of using a non-deflate modes (if it is that case…). Anyway - lzma mode has its quirks - but for now, case closed I think.