LZMA SDK
Zestaw LZMA SDK zawiera dokumentację, przykłady, nagłówki, biblioteki i narzędzia potrzebne do tworzenia aplikacji wykorzystujących kompresję LZMA.
Link | Rozmiar | Data | Wersja | Opis |
---|---|---|---|---|
Ściągnij | 1,6 MB | 2024-11-29 | 24.09 | LZMA SDK (C, C++, C#, Java) (razem z binarkami dla Windows) |
Ściągnij | 1 MB | 2023-06-20 | 23.01 | |
Ściągnij | 12 KB | 2015-06-14 | Specyfikacja LZMA (szkic) |
Co nowego:
- 24.09: Zwiększono domyślne wartości rozmiaru słownika dla metod kompresji LZMA/LZMA2.
- 24.05: Nowy filtr dla plików wykonywalnych RISC-V.
- 23.01: Nowy filtr dla plików wykonywalnych ARM64. Ulepszono filtr BCJ2 dla lepszego współczynnika kompresji. Naprawiono kilka błędów.
- 21.07: Drobne zmiany i poprawki.
- 21.06: Naprawiono błąd w enkodowaniu LZMA.
- 21.03 beta: Rozmiar słownika LZMA zwiększony do 4 GB. Optymalizacje prędkości działania.
- 21.02 alpha: Wsparcie dla macOS i Linux. Optymalizacje prędkości działania.
- 19.00: Wzmociono siłę szyfrowania archiwów 7z.
- 18.06: Optymalizacja prędkości działania w kodzie LZMA/LZMA2.
- 18.05: Optymalizacja prędkości działania w kodzie LZMA/LZMA2.
- 18.01: Zmiany w kodzie wielowątkowej kompresji LZMA2/xz. Poprawiono kilka błędów.
- 9.35: W SDK załączono kod AES oraz moduły SFXs.
- 9.20: Nowy mały moduł SFX dla instalatorów.
- 9.11: Wsparcie PPMd.
- 9.04: Wsparcie LZMA2 i XZ.
- 4.62: LZMA SDK zostaje opublikowany w domenie publicznej.
LZMA to domyślna i podstawowa metoda kompresji formatu 7z w programie 7-Zip. LZMA zapewnia wysoki stopień kompresji oraz bardzo szybką dekompresję, więc jest niezwykle przydatny w aplikacjach wewnętrznych. Przykładowo może być używany do kompresji ROM-u (firmware'u).
LZMA SDK zawiera:
- Kod źródłowy C++ kodera i dekodera LZMA
- Kod źródłowy C++ kompresji i dekompresji dla .7z (zmniejszona wersja)
- Kompatybilny z ANSI-C kod źródłowy dla kompresji/dekompresji LZMA / LZMA2 / XZ
- Kompatybilny z ANSI-C kod źródłowy dekompresji 7z z przykładem wykorzystania
- Kod źródłowy C# dla kompresji i dekompresji LZMA
- Kod źródłowy Java dla kompresji i dekompresji LZMA
- lzma.exe do kompresji i dekompresji .lzma
- 7zr.exe do pracy z archiwami 7z (zmniejszona wersja 7z.exe z 7-Zip)
- Moduły SFX do tworzenia samorozpakowujących się pakietów i instalatorów
Kody źródłowe ANSI-C i C++ w LZMA SDK są częścią kodu źródłowego 7-Zip.
Cechy LZMA:
- Prędkość kompresji: 2-8 MB/s na procesorze 4 GHz, używając dwóch wątków.
- Prędkość dekompresji na jednym wątku:
- 30-100 MB/s na nowowczesnym procesorze 4 GHz (Intel, AMD, ARM).
- 5-15 MB/s na prostym procesorze 1 GHz RISC (ARM, PIPS, PowerPC).
- Małe wymagania co do pamięci dla dekompresji: 8-32 KB + rozmiar słownika
- Mały kod dekompresujący: 2-8 KB (w zależności od optymalizacji prędkości)
Dekoder LZMA używa wyłącznie instrukcji operujących na liczbach całkowitych i może zostać zaimplementowany na dowolny nowoczesny procesor 32-bitowy.
Licencja
LZMA SDK został opublikowany pod domeną publiczną.
Każdy może swobodnie kopiować, modyfikować, publikować, używać, kompilować, sprzedawać lub dystrybuować oryginalny kod LZMA SDK, zarówno w formie kodu źródłowego, jak i skompilowanego pliku binarnego, w dowolnym celu, komercyjnym lub niekomercyjnym, i w dowolny sposób.