LZMA SDK (Software Development Kit)
The LZMA SDK provides the documentation, samples, header files, libraries,
and tools you need to develop applications that use LZMA compression.
||LZMA SDK (C, C++, C#, Java)
||LZMA SDK (C, C++, C#, Java) (with binaries for Windows)
||LZMA Specification (Draft)
Note: If you use XZ code from LZMA SDK, it's recommended to upgrade to new
XZ code from 7-Zip 15.05 beta. That new code fixes some bugs.
- 15.05: Some bugs were fixed.
- 9.38: Some bugs were fixed.
- 9.36: Some bugs were fixed.
- 9.35: Some bugs were fixed. AES code and SFXs modules were included to SDK.
- 9.20: New small SFX module for installers.
- 9.11: PPMd support.
- 9.04: LZMA2 and XZ support.
- 4.62: Some fixes. LZMA SDK is placed in the public domain.
- 4.58: Speed optimizations. New ANSI-C code for LZMA compression.
- 4.57: Speed optimizations. Some fixes.
- 4.49: .7z ANSI-C decoder was improved. C++ code for .7z archive handling was
LZMA is the default and general compression method of 7z format
in the 7-Zip program. LZMA provides a high compression ratio and
very fast decompression, so it is very suitable for embedded applications.
For example, it can be used for ROM (firmware) compressing.
LZMA SDK includes:
- C++ source code of LZMA Encoder and Decoder
- C++ source code for .7z compression and decompression (reduced version)
- ANSI-C compatible source code for LZMA / LZMA2 / XZ compression and decompression
- ANSI-C compatible source code for 7z decompression with example
- C# source code for LZMA compression and decompression
- Java source code for LZMA compression and decompression
- lzma.exe for .lzma compression and decompression
- 7zr.exe to work with 7z archives (reduced version of 7z.exe from 7-Zip)
- SFX modules to create self-extracting packages and installers
ANSI-C and C++ source code in LZMA SDK is subset of source code of 7-Zip.
- Compression speed: 2 MB/s on 2 GHz dual-core CPU.
- Decompression speed:
- 20-30 MB/s on modern 2 GHz CPU (Intel, AMD).
- 5-10 MB/s on simple 1 GHz RISC CPU (ARM, MIPS, PowerPC).
- Small memory requirements for decompression: 8-32 KB + DictionarySize
- Small code size for decompression: 2-8 KB (depending on speed optimizations)
The LZMA decoder uses only CPU integer instructions and can be
implemented for any modern 32-bit CPU (or, on a 16-bit CPU with some conditions).
LZMA SDK is placed in the public domain.
Copyright (C) 2015 Igor Pavlov. The site is hosted at Digital Ocean