Допустимые значения: |
zip
zip/1 до zip/9 bzip bzip/1 до bzip/9 lzma lzma/fast lzma/normal lzma/max lzma/ultra (перед использованием ознакомьтесь с требованиями к памяти) lzma/ultra64 (перед использованием ознакомьтесь с требованиями к памяти) lzma2 lzma2/fast lzma2/normal lzma2/max lzma2/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
и т.д. до 1048576), и средними между ними (6, 12, 24 и т.д. до 786432).
Например, словарь размером 524289 (512 Мб + 1 байт) потребует столько же
памяти, сколько словарь размером 786432 (768 Мб).
Значение none указывает, что сжатие не используется.
SolidCompression
LZMAAlgorithm
LZMABlockSize
LZMADictionarySize
LZMAMatchFinder
LZMANumBlockThreads
LZMANumFastBytes
LZMAUseSeparateProcess