7-Zip сжатие на многоядерных компьютерах

20

Использует ли 7-Zip преимущества многопроцессорных или многоядерных систем при сжатии?

Например, будет ли ускорение почти в 16 раз в 16-ядерной системе, при условии отсутствия узких мест на диске или в памяти?

Или он ограничен 2 потоками (ускорение в 2 раза в системах с более чем одним процессором или ядром)?


Изменить : Подводя итог: текущая стабильная версия 7-Zip (и старше) не использует в полной мере преимущества более чем 2 CPU / ядер при сжатии как 7z (только для Zip и BZip2), но версия 9 (в настоящее время в бета-версии) делает , Параметр командной строки для использования 16 ядер с версией 9 (это находится в папке установки для версии Windows, в файле справки, 7-zip.chmУстанавливает версию командной строки / Switches / -m (Установить метод сжатия) / <рядом> " многопоточный режим "):

-mt16
Питер Мортенсен
источник
1
Я не думаю, что резюме является достаточно точным, см. Некоторые другие ответы для более подробной информации ...
rogerdpack

Ответы:

10

Вы должны использовать бета-версию, чтобы получить доступ к большему количеству ядер. Бета-версия как стабильная в других программах, не беспокойтесь об этом. В официальном сообщении на форуме появилось объяснение. Я уже некоторое время пользуюсь им, и с этим проблем нет.

Первый

второй

Кстати я использую 7z 9.13 beta x64 в минуту. Использование его в продуктивной среде также удивительно. (Спасибо Игорю за отличное программное обеспечение.;))

апаш
источник
3
С тех пор вышла новая стабильная версия, которая по умолчанию поддерживает многопоточное сжатие, нет необходимости в бета-версии.
Apache
Это не правильно. Он может использовать 4, 8 и более ядер. Просто используйте последнюю версию. Гоша.
Apache
Смотрите: noob.hu/2012/01/10/7z.png
Apache
4
Обратите внимание, что в этом ответе используется LZMA2, а не LZMA. LZMA2 может использовать более двух ядер, разбивая файл на части и независимо обрабатывая их. Это может привести к тому, что LZMA предложит более высокие коэффициенты сжатия.
Луи
4

При создании 7-Zip-файла он может использовать два потока, а при создании ZIP-файла он может использовать восемь потоков (на моей восьмиядерной машине).

Акира
источник
1
Вы можете использовать 7z с методом LZMA2, чтобы использовать максимальное количество ядер
Behrouz.M
1
@raypixar У меня не работает на компьютере i7. Только алгоритм BZip2 позволяет запускать полные 8 потоков, другой алгоритм не работает на 100%, в лучшем случае только ~ 20%. EVen LZMA2 отображает 8/8 ядра на панели настроек, но при обработке использует только ~ 20% ЦП.
Эдвард
1
@Edward: не могу подтвердить свои цифры / опыт: на моем i5 7z-9.22beta использует от 75% до 95% ЦП и порождает от 8 до 32 потоков для архивирования ~ 240 Мб папки, полной mp3. .bz2.7z потребовалось много времени, .lzma2.7z был довольно быстрым (все ультра-настройки) и немного больше, чем .bz2.7z.
Акира
1
@akira Да, я знаю. В любом случае предыдущий комментарий направлен на предложение члена "ray pixar" - используйте 7z с LZMA2, чтобы использовать все ядра, но в моем случае это не так. Насчет твоих номеров, я думаю, это логично. После прочтения этой статьи я перебираю этот сайт su несколько раз и обнаруживаю, что что-то не так с моей текущей установкой 7zip. Но проблема возникает только в графическом интерфейсе (графический интерфейс), он не использует более 20% процессорного времени, когда я сжимаю файлы методом LZMA2. Только когда я использую командную строку с таким параметром, как -m0 = lzma2 -mmt = 8, сжатие занимает 100% процессора, в противном случае с графическим интерфейсом я не понял, почему это не так.
Эдвард
2

Согласно статье в Википедии :

Особенности 7-Zip поддерживает множество функций, в том числе:

  1. Поддержка 256-битного шифра AES. Шифрование может быть включено как для файлов, так и для структуры каталогов 7z. Когда структура каталогов зашифрована, пользователи должны предоставить пароль для просмотра имен файлов, содержащихся в архиве, если только не были зашифрованы только данные, но не имена файлов. Разработанный WinZip стандарт шифрования AES также доступен в 7-Zip для шифрования ZIP-архивов 256-битным AES, но он не обеспечивает шифрование имен файлов, как в 7z-архивах.
  2. Объемы динамически изменяемых размеров, что позволяет использовать их для резервного копирования на съемных носителях, таких как записываемые компакт-диски и DVD-диски.
  3. Удобство использования в качестве основного ортодоксального файлового менеджера при использовании в 2-панельном режиме.
  4. Можно настроить несколько параметров CPU / core / threading.
  5. Возможность открывать EXE-файлы как архивы, позволяя распаковывать данные изнутри многих программ типа «SetUp», «Installer» или «Extract» без необходимости их запуска.
  6. Возможность распаковывать архивы с поврежденными именами файлов, переименовывая файлы по мере необходимости. Способность создавать самораспаковывающиеся архивы, хотя не может сделать это для многотомных архивов.

Так что откройте приложение и посмотрите, что поддерживает многопоточность.

ta.speot.is
источник
0

Вы также можете использовать версию 7-Zip Zstandard , которая поддерживает многопоточность до 256 потоков для всех 5 дополнительных кодеков.

Кодеки:

  1. Brotli
  2. LZ4
  3. LZ5
  4. ящерица
  5. Zstandard

Запустите это как:

7z a archiv.7z -m0=brotli -mx1 -mmt=1

...

7z a archiv.7z -m0=brotli -mx1 -mmt=256

Тино Рейхардт
источник