README

That is the Github Web page of 7-Zip ZS with help of further Codecs. The library used due to this fact is positioned right here: Multithreading Library

You’ll be able to set up it in two methods:

  1. full setup with additions inside the GUI and a modified Explorer context menu
  2. solely the codec plugin that goes to your current 7-Zip set up (no GUI modifications and no further Hashers)

Standing



Codec overview

  1. Zstandard v1.5.0 is a real-time compression algorithm, offering excessive compression ratios. It presents a really big selection of compression / pace trade-off, whereas being backed by a really quick decoder.

    • Ranges: 1..22
  2. Brotli v.1.0.9 is a generic-purpose lossless compression algorithm that compresses information utilizing a mix of a contemporary variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio similar to the very best at the moment obtainable general-purpose compression strategies. It’s related in pace with deflate however presents extra dense compression.

    • Ranges: 0..11
  3. LZ4 v1.9.3 is lossless compression algorithm, offering compression pace at 400 MB/s per core (0.16 Bytes/cycle). It options an especially quick decoder, with pace in a number of GB/s per core (0.71 Bytes/cycle). A excessive compression spinoff, referred to as LZ4_HC, is obtainable, buying and selling customizable CPU time for compression ratio.

    • Ranges: 1..12
  4. LZ5 v1.5 is a modification of LZ4 which was meant for a greater ratio at price of slower compression and decompression. It is outmoded by Lizard now.

    • Ranges: 1..15
  5. Lizard v1.0 is an environment friendly compressor with quick decompression. It achieves compression ratio that’s similar to zip/zlib and zstd/brotli (at low and medium compression ranges) at decompression pace of 1000 MB/s and quicker.

    • Ranges 10..19 (fastLZ4) are designed to offer about 10% higher decompression pace than LZ4
    • Ranges 20..29 (LIZv1) are designed to offer higher ratio than LZ4 conserving 75% decompression pace
    • Ranges 30..39 (fastLZ4 + Huffman) provides Huffman coding to fastLZ4
    • Ranges 40..49 (LIZv1 + Huffman) give the very best ratio, similar to zlib and low ranges of zstd/brotli, however with a quicker decompression pace
  6. Quick LZMA2 v1.0.1 is a LZMA2 compression algorithm, 20% to 100% quicker than regular LZMA2 at ranges 5 and above, however with a barely decrease compression ratio. It makes use of a parallel buffered radix matchfinder and a few optimizations from Zstandard. The codec makes use of a lot much less further reminiscence per thread than commonplace LZMA2.

    • Ranges: 1..9

7-Zip Zstandard Version (full setup, with GUI and Explorer integration)

Set up (through setup)

  1. obtain the setup from right here 7-Zip ZS Releases
  2. set up it, just like the default 7-Zip
  3. use it 😉
  4. chances are you’ll verify, if the 7-Zip can take care of Zstandard or different codecs through this command: 7z.exe i

The output ought to appear to be this:

7-Zip 19.00 ZS v1.5.0 R1 (x64) : Copyright (c) 1999-2021 Igor Pavlov, 2016-2021 Tino Reichardt : 2021-05-15

Libs:
 0  c:Program Files7-Zip-Zstandard7z.dll
 1  C:Program Files7-Zip-ZstandardCodecsIso7z.64.dll
 
Codecs:
...
 0 CK            xz       xz txz (.tar) FD 7 z X Z 00
 0               Z        z taz (.tar)  1F 9D
 0 CK            zstd     zst tzstd (.tar) 0 x F D 2 F B 5 2 5 . . 0 x F D 2 F B 5 2 8 00
 0 C   F         7z       7z            7 z BC AF ' 1C
 0     F         Cab      cab           M S C F 00 00 00 00
...

Codecs:
 0 4ED  303011B BCJ2
 0  ED  3030103 BCJ
 0  ED  3030205 PPC
 0  ED  3030401 IA64
 0  ED  3030501 ARM
 0  ED  3030701 ARMT
 0  ED  3030805 SPARC
 0  ED    20302 Swap2
 0  ED    20304 Swap4
 0  ED    40202 BZip2
 0  ED        0 Copy
 0  ED    40109 Deflate64
 0  ED    40108 Deflate
 0  ED        3 Delta
 0  ED       21 LZMA2
 0  ED    30101 LZMA
 0  ED    30401 PPMD
 0   D    40301 Rar1
 0   D    40302 Rar2
 0   D    40303 Rar3
 0   D    40305 Rar5
 0  ED  4F71102 BROTLI
 0  ED  4F71104 LZ4
 0  ED  4F71106 LIZARD
 0  ED  4F71105 LZ5
 0  ED  4F71101 ZSTD
 0  ED       21 FLZMA2
 0  ED  6F10701 7zAES
 0  ED  6F00181 AES256CBC
 1 3ED  4F712FF RawSplitter

Hashers:
 0   32      20A BLAKE3
 0    4        1 CRC32
 0   16      205 MD2
 0   16      206 MD4
 0   16      207 MD5
 0   20      201 SHA1
 0   32        A SHA256
 0   48      208 SHA384
 0   64      209 SHA512
 0    4      203 XXH32
 0    8      204 XXH64
 0    8        4 CRC64
 0   32      202 BLAKE2sp

Utilization and options of the total set up

  • compression and decompression for Brotli, Lizard, LZ4, LZ5 and Zstandard inside the 7-Zip container format
  • compression and decompression of Lizard (.liz), LZ4 (.lz4), LZ5 (.lz5) and Zstandard (.zst) recordsdata
  • dealing with of ZIP recordsdata with Zstandard compression
  • included lzip decompression help, patch from: https://download.savannah.gnu.org/releases/lzip/7zip/
  • explorer context menu: “Add to xy.7z” will use all parameters of the final “Add to Archive” compression dialog (this consists of: technique, stage, dictionary, blocksize, threads and paramters enter field)
  • squashfs recordsdata with LZ4 or Zstandard compression will be dealt with
  • a number of historical past settings aren’t saved by default, look right here for some information about that, you’ll be able to restore authentic 7-Zip conduct through tools->options->settings
  • these hashes will be calculated: CRC32, CRC64, MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512, XXH32, XXH64, BLAKE2sp, BLAKE3 (lowercase or uppercase)

7z a archiv.7z -m0=zstd -mx0   Zstandard Quickest Mode, with out BCJ preprocessor
7z a archiv.7z -m0=zstd -mx1   Zstandard Quick mode, with BCJ preprocessor on executables
7z a archiv.7z -m0=zstd -mx..  ...
7z a archiv.7z -m0=zstd -mx21  Zstandard 2nd Slowest Mode, with BCJ preprocessor on executables
7z a archiv.7z -m0=zstd -mx22  Zstandard Extremely Mode, with BCJ preprocessor on executables

7z a archiv.7z -m0=lz4 -mx0   LZ4 Quickest Mode, with out BCJ preprocessor
7z a archiv.7z -m0=lz4 -mx1   LZ4 Quick mode, with BCJ preprocessor on executables
7z a archiv.7z -m0=lz4 -mx..  ...
7z a archiv.7z -m0=lz4 -mx12  LZ4 Extremely Mode, with BCJ preprocessor on executables

7z a archiv.7z -m0=lz5 -mx0   LZ5 Model 1.5 Quickest Mode, with out BCJ preprocessor
7z a archiv.7z -m0=lz5 -mx1   LZ5 Model 1.5 Quick mode, with BCJ preprocessor on executables
7z a archiv.7z -m0=lz5 -mx..  ...
7z a archiv.7z -m0=lz5 -mx16  LZ5 Model 1.5 Extremely Mode, with BCJ preprocessor on executables

7z a archiv.7z -m0=flzma2 -mx1   Quick LZMA2 Quickest mode, with BCJ preprocessor on executables
7z a archiv.7z -m0=flzma2 -mx..  ...
7z a archiv.7z -m0=flzma2 -mx9   Quick LZMA2 Extremely Mode, with BCJ preprocessor on executables

7z x -so take a look at.tar.zstd | 7z l -si -ttar
-> present contents of zstd compressed tar archiv take a look at.tar.zstd

7z x -so take a look at.tar.lz | 7z l -si -ttar
-> present contents of lzip compressed tar archiv take a look at.tar.lz





Zstandard codec Plugin for Mainline 7-Zip

Set up (through plugin)

  1. obtain the Codecs.7z archiv from right here 7-Zip ZS Releases, this archive holds binaries, that are suitable with the Mainline model of 7-Zip
  2. create a brand new listing named Codecs and put in there the zstd-x32.dll or the zstd-x64.dll, relying in your 7-Zip set up
    • usually, the x32 ought to go to: “C:Program Files (x86)7-ZipCodecs”
    • the x64 model ought to go in right here: “C:Program Files7-ZipCodecs”
  3. you might additionally exchange the 7z.dll straight inside C:Program Recordsdata (x86)7-Zip
  4. then chances are you’ll verify if the dll is accurately put in through this command: 7z.exe i

The output ought to appear to be this:

7-Zip 21.02 (x64) : Copyright (c) 1999-2021 Igor Pavlov : 2021-05-06

Libs:
 0  C:Program Files7-Zip7z.dll

Libs:
 0  c:Program Files7-Zip7z.dll
 1  c:Program Files7-ZipCodecsbrotli-x64.dll
 2  c:Program Files7-ZipCodecsflzma2-x64.dll
 3  c:Program Files7-ZipCodecslizard-x64.dll
 4  c:Program Files7-ZipCodecslz4-x64.dll
 5  c:Program Files7-ZipCodecslz5-x64.dll
 6  c:Program Files7-ZipCodecszstd-x64.dll

...

Codecs:
 0 4ED  303011B BCJ2
 0  ED  3030103 BCJ
 0  ED  3030205 PPC
 0  ED  3030401 IA64
 0  ED  3030501 ARM
 0  ED  3030701 ARMT
 0  ED  3030805 SPARC
 0  ED    20302 Swap2
 0  ED    20304 Swap4
 0  ED    40202 BZip2
 0  ED        0 Copy
 0  ED    40109 Deflate64
 0  ED    40108 Deflate
 0  ED        3 Delta
 0  ED       21 LZMA2
 0  ED    30101 LZMA
 0  ED    30401 PPMD
 0   D    40301 Rar1
 0   D    40302 Rar2
 0   D    40303 Rar3
 0   D    40305 Rar5
 0  ED  6F10701 7zAES
 0  ED  6F00181 AES256CBC
 1  ED  4F71102 BROTLI
 2  ED       21 FLZMA2
 3  ED  4F71106 LIZARD
 4  ED  4F71104 LZ4
 5  ED  4F71105 LZ5
 6  ED  4F71101 ZSTD

Utilization (codec plugin)

  • compression and decompression for Brotli, Quick LZMA2, Lizard, LZ4, LZ5 and Zstandard inside the 7-Zip container format
  • you’ll be able to solely create .7z recordsdata, the recordsdata like .lz4, .lz5 and .zst will not be lined by the plugins
  • when compressing binaries (*.exe, *.dll), you need to explicitly disable the bcj2 filter through -m0=bcj,
    when utilizing solely the plugin dll’s
  • so the utilization ought to appear to be this:

7z a archiv.7z -m0=bcj -m1=zstd -mx1   Quick mode, with BCJ preprocessor on executables
7z a archiv.7z -m0=bcj -m1=zstd -mx..  ...
7z a archiv.7z -m0=bcj -m1=zstd -mx21  2nd Slowest Mode, with BCJ preprocessor on executables
7z a archiv.7z -m0=bcj -m1=zstd -mx22  Extremely Mode, with BCJ preprocessor on executables
7z a archiv.7z -m0=bcj -m1=brotli -mxN  ...
7z a archiv.7z -m0=bcj -m1=lizard -mxN  ...
7z a archiv.7z -m0=bcj -m1=lz4 -mxN  ...
7z a archiv.7z -m0=bcj -m1=lz5 -mxN  ...
7z a archiv.7z -m0=bcj -m1=flzma2 -mxN  ...

Codec Plugin for Complete Commander

  • obtain TotalCmd.7z
  • set up it, by changing the recordsdata tc7z.dll and tc7z64.dll with the brand new ones
  • you’ll be able to verify the Complete Commander Discussion board for extra details about this DLL Recordsdata
  • decompression for Brotli, Lizard, LZ4, LZ5 and Zstandard ot the 7-Zip .7z format
    will work out of the field with Complete Commander now 🙂
See also  Dark Souls II Cheat Engine Guide.md

Codec Plugin for Far Supervisor

  • copy the 7z.dll file from C:Program Files7-Zip-Zstandard7z.dll to C:Program FilesFar ManagerPluginsArcLite7z.dll
  • then restart the Far supervisor – and on subsequent begin, you should have help for 7-Zip Zstandard archives 😉

Benchmarks

For the benchmarks I’m utilizing Home windows 7 64bit on my Laptop computer which has the next {Hardware}:

  • Intel i7-3632QM, restricted to 2,2GHz, 16GB RAM, disabled swap area
  • the compression benchmark is learn / written to an 4 GiB ImDisk
  • the decompression benchmark can also be achieved in RAM through: 7z t archiv.7z
  • the software for measuring the occasions is wtime, along with some scripts
  • the testfile is generated through generate-mcorpus
  • please observe, that the benchmarks are outdated now (new one will come, nevertheless it wants a while)




Themes

  • FileManager Toolbar Icon Theme: Glyfz 2016 by AlexGal homepage
  • File Sorts Icon Theme: Home windows 10 by masamunecyrus homepage
  • Extra icons file varieties created by Mr4Mike4 homepage

License and redistribution

  • the identical because the Mainline 7-Zip, which suggests GNU LGPL

Hyperlinks

  • 7-Zip Homepage
  • 7-Zip Zstandard Homepage
  • Request for inclusion into the mainline 7-Zip:
    • outcome, will at the moment not included 🙁
  • p7zip Homepage – for Linux and MacOS with LZ4 and Zstandard

Donate

You discover this undertaking helpful, possibly you take into account a donation 😉

Model Info

  • 7-Zip ZS Model 21.02
    • Brotli Model 1.0.9
    • Quick LZMA2 Model 1.0.1
    • Lizard Model 1.0
    • LZ4 Model 1.9.3
    • LZ5 Model 1.5
    • Zstandard Model 1.5.0
    • BLAKE3 Model 0.3.7

/TR 2021-05-16

Notes

  • if you’d like an code signed installer, you have to donate sth.

Leave a Reply

Your email address will not be published.