All Projects → mcmilk → 7 Zip Zstd

mcmilk / 7 Zip Zstd

Licence: lgpl-2.1
7-Zip with support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to 7 Zip Zstd

zstdmt
Multithreading Library for Brotli, Lizard, LZ4, LZ5, Snappy and Zstandard
Stars: ✭ 107 (-95.02%)
Mutual labels:  brotli, zstd, lz4, zstandard, lizard, lz5
EasyCompressor
⚡ A compression library that implements many compression algorithms such as LZ4, Zstd, LZMA, Snappy, Brotli, GZip, and Deflate. It helps you to improve performance by reducing Memory Usage and Network Traffic for caching.
Stars: ✭ 167 (-92.23%)
Mutual labels:  brotli, zstd, lz4, lzma, zstandard
Archive7z
This library provides handling of 7z files in PHP
Stars: ✭ 73 (-96.6%)
Mutual labels:  archiver, 7-zip, 7z, 7zip
PLzmaSDK
PLzmaSDK is (Portable, Patched, Package, cross-P-latform) Lzma SDK.
Stars: ✭ 28 (-98.7%)
Mutual labels:  lzma, 7zip, lzma2
go7z
A native Go 7z archive reader.
Stars: ✭ 46 (-97.86%)
Mutual labels:  7z, 7zip, lzma2
Archiver
Easily create & extract archives, and compress & decompress files of various formats
Stars: ✭ 3,373 (+56.88%)
Mutual labels:  brotli, lz4, zstandard
pyrus-cramjam
Thin Python wrapper to de/compression algorithms in Rust - lightweight & no dependencies
Stars: ✭ 40 (-98.14%)
Mutual labels:  brotli, zstd, lz4
Libarchive
Multi-format archive and compression library
Stars: ✭ 1,625 (-24.42%)
Mutual labels:  zstd, lzma, 7zip
Django Compression Middleware
Django middleware to compress responses using several algorithms.
Stars: ✭ 23 (-98.93%)
Mutual labels:  zstd, brotli
ZeeArchiver
Zee is an efficient and simple to use Android Archiver and decompressor. It can decompress and compress from-to all the formats supported by the well known 7zip utility. Copyright © 2018 Mahmoud Galal , for support contact me:[email protected]
Stars: ✭ 35 (-98.37%)
Mutual labels:  7z, 7zip
tiny
compress data for better performance
Stars: ✭ 21 (-99.02%)
Mutual labels:  brotli, lz4
pyzstd
Python bindings to Zstandard (zstd) compression library, the API is similar to Python's bz2/lzma/zlib modules.
Stars: ✭ 4 (-99.81%)
Mutual labels:  zstd, zstandard
SevenZipSharp
Fork of SevenZipSharp on CodePlex
Stars: ✭ 171 (-92.05%)
Mutual labels:  7z, 7zip
ZstdKit
An Objective-C and Swift library for Zstd (Zstandard) compression and decompression.
Stars: ✭ 22 (-98.98%)
Mutual labels:  zstd, zstandard
box
Box - Open Standard Archive Format, a zip killer.
Stars: ✭ 38 (-98.23%)
Mutual labels:  brotli, zstandard
sqlite zstd vfs
SQLite3 extension for read/write storage compression with Zstandard
Stars: ✭ 42 (-98.05%)
Mutual labels:  zstd, zstandard
ratarmount
Random Access Read-Only Tar Mount
Stars: ✭ 217 (-89.91%)
Mutual labels:  zstd, zstandard
sparkzstd
A zstd decompressor written in golang
Stars: ✭ 45 (-97.91%)
Mutual labels:  zstd, zstandard
imagecodecs
Image transformation, compression, and decompression codecs. Forked from https://pypi.org/project/imagecodecs
Stars: ✭ 56 (-97.4%)
Mutual labels:  lz4, lzma
Lizard
Lizard (formerly LZ5) is an efficient compressor with very fast decompression. It achieves compression ratio that is comparable to zip/zlib and zstd/brotli (at low and medium compression levels) at decompression speed of 1000 MB/s and faster.
Stars: ✭ 408 (-81.02%)
Mutual labels:  zstd, brotli

README

This is the Github Page of 7-Zip ZS with support of additional Codecs. The library used therefore is located here: Multithreading Library

You can install it in two ways:

  1. complete setup with additions within the GUI and a modified Explorer context menu
  2. only the codec plugin that goes to your existing 7-Zip installation (no GUI changes and no additional Hashers)

Status

Build status Latest stable release PayPal.me

Codec overview

  1. Zstandard v1.5.0 is a real-time compression algorithm, providing high compression ratios. It offers a very wide range of compression / speed trade-off, while being backed by a very fast decoder.

    • Levels: 1..22
  2. Brotli v.1.0.9 is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate but offers more dense compression.

    • Levels: 0..11
  3. LZ4 v1.9.3 is lossless compression algorithm, providing compression speed at 400 MB/s per core (0.16 Bytes/cycle). It features an extremely fast decoder, with speed in multiple GB/s per core (0.71 Bytes/cycle). A high compression derivative, called LZ4_HC, is available, trading customizable CPU time for compression ratio.

    • Levels: 1..12
  4. LZ5 v1.5 is a modification of LZ4 which was meant for a better ratio at cost of slower compression and decompression. It's superseded by Lizard now.

    • Levels: 1..15
  5. Lizard v1.0 is an efficient compressor with fast decompression. It achieves compression ratio that is comparable to zip/zlib and zstd/brotli (at low and medium compression levels) at decompression speed of 1000 MB/s and faster.

    • Levels 10..19 (fastLZ4) are designed to give about 10% better decompression speed than LZ4
    • Levels 20..29 (LIZv1) are designed to give better ratio than LZ4 keeping 75% decompression speed
    • Levels 30..39 (fastLZ4 + Huffman) adds Huffman coding to fastLZ4
    • Levels 40..49 (LIZv1 + Huffman) give the best ratio, comparable to zlib and low levels of zstd/brotli, but with a faster decompression speed
  6. Fast LZMA2 v1.0.1 is a LZMA2 compression algorithm, 20% to 100% faster than normal LZMA2 at levels 5 and above, but with a slightly lower compression ratio. It uses a parallel buffered radix matchfinder and some optimizations from Zstandard. The codec uses much less additional memory per thread than standard LZMA2.

    • Levels: 1..9

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

Installation (via setup)

  1. download the setup from here 7-Zip ZS Releases
  2. install it, like the default 7-Zip
  3. use it ;)
  4. you may check, if the 7-Zip can deal with Zstandard or other codecs via this command: 7z.exe i

The output should look like 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 Files\7-Zip-Zstandard\7z.dll
 1  C:\Program Files\7-Zip-Zstandard\Codecs\Iso7z.64.dll
 
Formats:
...
 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

Usage and features of the full installation

  • compression and decompression for Brotli, Lizard, LZ4, LZ5 and Zstandard within the 7-Zip container format
  • compression and decompression of Lizard (.liz), LZ4 (.lz4), LZ5 (.lz5) and Zstandard (.zst) files
  • handling of ZIP files with Zstandard compression
  • included lzip decompression support, patch from: https://download.savannah.gnu.org/releases/lzip/7zip/
  • explorer context menu: "Add to xy.7z" will use all parameters of the last "Add to Archive" compression dialog (this includes: method, level, dictionary, blocksize, threads and paramters input box)
  • squashfs files with LZ4 or Zstandard compression can be handled
  • several history settings aren't stored by default, look here for some info about that, you can restore original 7-Zip behavior via tools->options->settings
  • these hashes can 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 Fastest Mode, without BCJ preprocessor
7z a archiv.7z -m0=zstd -mx1   Zstandard Fast 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 Ultra Mode, with BCJ preprocessor on executables

7z a archiv.7z -m0=lz4 -mx0   LZ4 Fastest Mode, without BCJ preprocessor
7z a archiv.7z -m0=lz4 -mx1   LZ4 Fast mode, with BCJ preprocessor on executables
7z a archiv.7z -m0=lz4 -mx..  ...
7z a archiv.7z -m0=lz4 -mx12  LZ4 Ultra Mode, with BCJ preprocessor on executables

7z a archiv.7z -m0=lz5 -mx0   LZ5 Version 1.5 Fastest Mode, without BCJ preprocessor
7z a archiv.7z -m0=lz5 -mx1   LZ5 Version 1.5 Fast mode, with BCJ preprocessor on executables
7z a archiv.7z -m0=lz5 -mx..  ...
7z a archiv.7z -m0=lz5 -mx16  LZ5 Version 1.5 Ultra Mode, with BCJ preprocessor on executables

7z a archiv.7z -m0=flzma2 -mx1   Fast LZMA2 Fastest mode, with BCJ preprocessor on executables
7z a archiv.7z -m0=flzma2 -mx..  ...
7z a archiv.7z -m0=flzma2 -mx9   Fast LZMA2 Ultra Mode, with BCJ preprocessor on executables

7z x -so test.tar.zstd | 7z l -si -ttar
-> show contents of zstd compressed tar archiv test.tar.zstd

7z x -so test.tar.lz | 7z l -si -ttar
-> show contents of lzip compressed tar archiv test.tar.lz

Explorer inegration File Manager Methods Hashes Settings

Zstandard codec Plugin for Mainline 7-Zip

Installation (via plugin)

  1. download the Codecs.7z archiv from here 7-Zip ZS Releases, this archive holds binaries, which are compatible with the Mainline version of 7-Zip
  2. create a new directory named Codecs and put in there the zstd-x32.dll or the zstd-x64.dll, depending on your 7-Zip installation
    • normally, the x32 should go to: "C:\Program Files (x86)\7-Zip\Codecs"
    • the x64 version should go in here: "C:\Program Files\7-Zip\Codecs"
  3. you could also replace the 7z.dll directly within C:\Program Files (x86)\7-Zip
  4. then you may check if the dll is correctly installed via this command: 7z.exe i

The output should look like this:

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

Libs:
 0  C:\Program Files\7-Zip\7z.dll

Libs:
 0  c:\Program Files\7-Zip\7z.dll
 1  c:\Program Files\7-Zip\Codecs\brotli-x64.dll
 2  c:\Program Files\7-Zip\Codecs\flzma2-x64.dll
 3  c:\Program Files\7-Zip\Codecs\lizard-x64.dll
 4  c:\Program Files\7-Zip\Codecs\lz4-x64.dll
 5  c:\Program Files\7-Zip\Codecs\lz5-x64.dll
 6  c:\Program Files\7-Zip\Codecs\zstd-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

Usage (codec plugin)

  • compression and decompression for Brotli, Fast LZMA2, Lizard, LZ4, LZ5 and Zstandard within the 7-Zip container format
  • you can only create .7z files, the files like .lz4, .lz5 and .zst are not covered by the plugins
  • when compressing binaries (*.exe, *.dll), you have to explicitly disable the bcj2 filter via -m0=bcj, when using only the plugin dll's
  • so the usage should look like this:
7z a archiv.7z -m0=bcj -m1=zstd -mx1   Fast 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  Ultra 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 Total Commander

  • download TotalCmd.7z
  • install it, by replacing the files tc7z.dll and tc7z64.dll with the new ones
  • you can check the Total Commander Forum for more information about this DLL Files
  • decompression for Brotli, Lizard, LZ4, LZ5 and Zstandard ot the 7-Zip .7z format will work out of the box with Total Commander now :-)

Codec Plugin for Far Manager

  • copy the 7z.dll file from C:\Program Files\7-Zip-Zstandard\7z.dll to C:\Program Files\Far Manager\Plugins\ArcLite\7z.dll
  • then restart the Far manager - and on next start, you will have support for 7-Zip Zstandard archives ;-)

Benchmarks

For the benchmarks I am using Windows 7 64bit on my Laptop which has the following Hardware:

  • Intel i7-3632QM, limited to 2,2GHz, 16GB RAM, disabled swap space
  • the compression benchmark is read / written to an 4 GiB ImDisk
  • the decompression benchmark is also done in RAM via: 7z t archiv.7z
  • the tool for measuring the times is wtime, together with some scripts
  • the testfile is generated via generate-mcorpus
  • please note, that the benchmarks are outdated now (new one will come, but it needs some time)

Compression Speed vs Ratio Decompression Speed Memory at Compression Memory at Decompression

Themes

  • FileManager Toolbar Icon Theme: Glyfz 2016 by AlexGal homepage
  • File Types Icon Theme: Windows 10 by masamunecyrus homepage
  • Additional icons file types created by Mr4Mike4 homepage

License and Redistribution

  • The same as the Mainline 7-Zip, which means most of the code is GNU LGPL v2.1-or-later
  • Read COPYING for more details

Links

Donate

You find this project useful, maybe you consider a donation ;-)

paypal

Version Information

/TR 2021-08-26

Notes

  • if you want an code signed installer, you need to donate sth.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].