|
Допустимые значения: |
zipzip/1 до zip/9bzipbzip/1 до bzip/9lzmalzma/fastlzma/normallzma/maxlzma/ultra (перед
использованием ознакомьтесь с требованиями к памяти)lzma/ultra64 (перед использованием
ознакомьтесь с требованиями к памяти)lzma2lzma2/fastlzma2/normallzma2/maxlzma2/ultra (перед
использованием ознакомьтесь с требованиями к памяти)lzma2/ultra64 (перед использованием
ознакомьтесь с требованиями к памяти)none |
|
Значение по умолчанию: |
lzma2/max |
Эта директива определяет метод сжатия файлов и, при необходимости, уровень сжатия. Более высокие уровни позволяют добиться наилучшего сжатия, но на это уходит больше времени и может потребоваться больше оперативной памяти для выполнения операций сжатия/распаковки.
Значение zip определяет метод сжатия, используемый архиваторами ZIP (алгоритм "Deflate"). Он является быстрым как для сжатия, так и для распаковки, а также предъявляет очень низкие требования к оперативной памяти (менее 1 МБ для сжатия и распаковки с уровнем 9), но в целом общая степень сжатия у него самая низкая по сравнению с другими поддерживаемыми методами. Единственное достоинство метода zip: он не увеличивает размер несжимаемых данных (например, когда файлы уже сжаты), как и метод lzma2. Если уровень сжатия не указан, по умолчанию используется 7.
Значение bzip определяет метод сжатия,
используемый компрессором bzip2
.
В большинстве случаев степень сжатия у него лучше, чем у zip,
но для сжатия и распаковки ему необходимо затратить больше времени. При
распаковке требует до 4 МБ оперативной памяти, а при сжатии – до 8 МБ.
Если уровень сжатия не указан, по умолчанию используется 9.
Значение lzma определяет метод сжатия,
используемый компрессором 7-Zip LZMA
.
Обычно степень сжатия у него намного лучше, чем у методов zip
и bzip. Однако, в зависимости от уровня сжатия, он может оказаться
гораздо медленнее и использовать намного больше памяти. В следующей
таблице приведены приблизительные требования к оперативной памяти для
каждого из поддерживаемых уровней сжатия lzma. Если уровень
сжатия не указан, по умолчанию используется max.
| Уровень | Распаковка (размер словаря) | Сжатие (6 МБ + 11.5 * размер словаря) |
|---|---|---|
| fast (худший) | 32 КБ | 6 МБ |
| normal | 2 МБ | 29 МБ |
| max (по умолчанию) | 8 МБ | 98 МБ |
| ultra | 32 МБ | 374 МБ |
| ultra64 (лучший) | 64 МБ | 742 МБ |
| 128 МБ | 1.44 ГБ | |
| 256 МБ | 2.88 ГБ | |
| 512 МБ | 5.76 ГБ | |
| 1 ГБ | 11.51 ГБ |
При указании директивы LZMAMatchFinder со значением HC требования к памяти для сжатия составляют примерно 60% от вышеуказанных, что обусловлено уменьшением степени сжатия.
Значение lzma2 определяет метод сжатия,
используемый компрессором 7-Zip LZMA2
. Метод LZMA2 является модифицированной
версией LZMA и предлагает лучшую степень сжатия для несжимаемых данных
(размер случайных данных увеличивается примерно на 0.005%, по сравнению
с 1.35% в оригинальном LZMA). При необходимости может выполнять сжатие
больших файлов в несколько потоков, значительно увеличивая скорость
сжатия, правда с возможным снижением коэффициента сжатия (смотрите LZMANumBlockThreads).
Если уровень сжатия не указан, то по умолчанию используется max
Как и LZMA, LZMA2 предъявляет высокие требования к объёму оперативной
памяти (см. таблицу выше). Следует заметить, что LZMA2 поддерживает
только ограниченное число размеров словарей, поэтому другие размеры будут
округляться до следующего поддерживаемого размера. В свою очередь значения
поддерживаемых размеров являются кратными двум, начиная с 4 (4, 8, 16, 32
и т.д.), и средними между ними (6, 12, 24 и т.д.).
Например, словарь размером 524289 (512 МБ + 1 байт) потребует столько же
памяти, сколько словарь размером 786432 (768 МБ).
Значение none указывает, что сжатие не используется.
SolidCompression
LZMAAlgorithm
LZMABlockSize
LZMADictionarySize
LZMAMatchFinder
LZMANumBlockThreads
LZMANumFastBytes
LZMAUseSeparateProcess