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.

Link Size Date Version Description
Download 300 KB 2009-02-03 4.65 LZMA SDK (C, C++, C#, Java)
Download 500 KB 2009-08-29 9.07 beta
Download 500 KB 2009-12-22 9.10 beta

What's new:

  • 9.10: Some fixes.
  • 9.06: Some fixes.
  • 9.04: LZMA2 and XZ support.
  • 4.65: Some fixes.
  • 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 included.

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
  • ANSI-C compatible source code for LZMA decompression with example
  • ANSI-C compatible source code for XZ compression and decompression
  • C# source code for LZMA compression and decompression
  • Java source code for LZMA compression and decompression
  • Compiled file->file LZMA compression/decompression program for the Windows operating system

ANSI-C LZMA decompression code is ported from the original C++ sources to C. Also, it has been simplified and optimized for code size. But it is fully compatible with LZMA from 7-Zip.

LZMA features:

  • Compression speed: 2 MB/s on 2 GHz dual-core CPU.
  • Decompression speed:
    • 20-30 MB/s on 2 GHz Intel Core2 or AMD Athlon 64.
    • 1-2 MB/s on 200 MHz ARM, MIPS, PowerPC or other simple RISC CPU.
  • 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).

License

LZMA SDK is placed in the public domain.

LZMA Links


Copyright (C) 2009 Igor Pavlov.