Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » 7-Zip | 7z | 7Zip (часть 4)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие части: Часть 1  |  Часть 2  |  Часть 3


Официальный сайт | Страница проекта на SourceForge.net

Примечания: | Справка: | О программе:
LZMA SDK | История версий | Страница загрузки
На 7-Zip.org доступны сборки для всех поддерживаемых ОС, исходные коды,
а также пакет 7-Zip Extra (автономная консольная версия, библиотеки и плагин для FAR)
 
Тема Сборки и украшательства архиватора 7-Zip

Загрузить:

Последняя стабильная версия: 23.01 (20.06.2023) | Download 7-Zip 23.01 (2023-06-20)
 
Setup: Windows: x86 (SFX | MSI), x86-64 (SFX | MSI), ARM SFX, ARM64 SFX, Console: Linux: x86 | x86-64 | arm | arm64, macOS arm64/x86-64, Extra (x86/x64), LZMA SDK, Source (.7z | .tar.xz)
 
Последняя beta-версия: 24.03 (23.03.2024), для Linux/MacOs 23.03.2024 выложена v24.03 beta
Windows: (AMD64, SFX , x86, SFX , Arm64, SFX) | Linux: (AMD64, tar.xz , x86, tar.xz , Arm64, tar.xz , ARM, tar.xz) | MacOS X: (Arm64 and AMD64, tar.xz) | 7-Zip Extra: (7z. x86 + AMD64, DLL, standalone console, ANSI Far plug-in)
 
Последняя alpha-версия: 21.02 (06.05.2021)
x86 (7-Zip SFX) | x64 (7-Zip SFX)
 
Расшифровка обозначения аппаратных платформ к таблицам:
IA32 Win32 для x86/х86-64 и совместимых по набору машинных команд процессоров от i386 и новее    
AMD64 Win64 для AMD64/Intel EMT64 х64-86 совместимые процессоры от AMD K8 и новее    
IA64 Win64 для Intel Itanium/Itanium 2    
ARM Win32 для DEC StrongARM SA-110/Intel XScale совместимые процессоры    
Arm64 64-х битные RISC процессоры с архитектурой ARMv8-A и совместимые с ними

Achtung!
Некоторые провайдеры блокируют официальный сайт. Заходить туда можно через ТОР/прокси или скачивать файлы со страницы проекта на SourceForge.net
Скачивать с посторонних ресурсов, типа различных файлопомоек не рекомендуется, можно легко нарваться на различную заразу.

Примечание:
Alpha и Beta-версии 7-Zip зачастую являются развитием "стабильных" версий с улучшениями и исправлениями багов.
Ссылки на альфы ищем в разделе Open Discussion форума проекта 7-Zip, там же можно получить и консультацию от разработчика.


Дополнения:

  • Плагины для архиватора 7Zip на tc4shell
  • Архив 7-Zip ZS
  • Форк с поддержкой дополнительных алгоритмов - Zstandard, Brotli и др. На странице есть подробные результаты тестов разных алгоритмов и инструменты для тестирования.
  • Ultra7z Archive Optimizer 1.09 Ахтунг! при конвертации пропадают файлы - Проверяйте количество файлов в созданном архиве! Работайте с копиями.
  • Ultra7z Optimizer 0.12  
  • m7zRepacker 1.0.32.301 (версия 7-zip 9.20 включена)
  • Плагин MutiArc для Total Commander с поддержкой 7z
  • Отдельный 7z-плагин для Total Commander
  • Ещё один новый 7z-плагин для Total Commander - Total7zip
  • Иные программы, поддерживающие архивацию в формате 7z
    Дополнительные бесплатные утилиты:

  • 7z SFX Tools - модифицированные SFX модули 1.7.0.3900, Архив версий и 7ZSplit.exe
  • 7z SFX Constructor - программа для сжатия файлов\папок в один *.exe
  • Графическая оболочка для 7z SFX Tools (версия 0.6.0.1, 342 КБ, 01.05.2007)
  • Кнопка для создания и работы с SFX-архивами 7z в Total Commander (Архив версий) (автор: GORA2)
  • Универсальный загрузчик для многотомных 7z SFX архивов. Описание (автор: GORA2)
  • 7-Zip Parameter Generator - генератор параметров командной строки для особых настроек сжатия

    Часто задаваемые вопросы:

  • Почему для использования 2+ ГБ памяти желательно установить 64-битную версию Windоws?
  • Как добавить к имени архива текущие дату и время?
  • Если забыли пароль к архиву, cRARk for 7-Zip purpose, 7z Cracker, Parallel Password Recovery (7-zip module), Hashcat, Daossoft ZIP Password Rescuer
  • А почему вообще в последних версиях убрана поддержка NSIS?
  • Как помещать каждый файл/папку в отдельный архив? (Put each file to separate archive)

  • Всего записей: 38836 | Зарегистр. 26-02-2002 | Отправлено: 20:16 28-11-2021 | Исправлено: gjf, 13:38 24-03-2024
    GoblinNN

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lelik007

    Цитата:
    не уверен чему он там по умолчанию равен.

    80%

    Всего записей: 2908 | Зарегистр. 11-10-2005 | Отправлено: 09:56 25-02-2023
    lelik007



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Pasha_ZZZ
    В полноценном понятно, в Total7z вызывается 7zG.exe - там не знаю, как эту опцию заставить
    работать, в Параметры же ее не написать. У меня нет полноценного GUI, или Total7z
    или 7z.exe для особых случаев.

    Всего записей: 2770 | Зарегистр. 13-10-2006 | Отправлено: 12:15 25-02-2023
    Inoz2000



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Код:
    REGEDIT4
     
    [HKEY_CURRENT_USER\SOFTWARE\7-Zip]
    "LargePages"=dword:00000001
     


    ----------
    Мы все умрём. (-:

    Всего записей: 4916 | Зарегистр. 23-04-2009 | Отправлено: 12:31 25-02-2023
    lelik007



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Inoz2000
    Спасибо, точно, он же с регистра настройки вычитывает. У меня так язык задан.

    Всего записей: 2770 | Зарегистр. 13-10-2006 | Отправлено: 12:40 25-02-2023
    uShell

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    2 потока не смотря на физически 4. Он так жмёт лучше

    Если потоков для LZMA2 больше двух, то 7-Zip делит входной файл на блоки из расчёта по два потока на блок и сжимает каждый блок независимо. Сжатие при этом ускоряется, но, как правило, ухудшается. А ещё на каждый блок создаётся своя копия служебных структур для сжатия, так что потребление памяти возрастает. Сжатие можно несколько ускорить, если разместить потоки на определённых ядрах процессора (ключ -stm): например, размещение двух потоков на одном физическом ядре нежелательно.
     
    Интересно, что LZMA/LZMA2 могут давать разное сжатие при выделении 1 или 2 потоков. Очевидно, при работе двух потоков они тоже делят между собой какие-то блоки данных, обрабатывая их независимо. Но, в отличие от ситуации с делением входного файла на куски, здесь два потока нередко (но не всегда) дают несколько лучшее сжатие. У большинства других архиваторов зависимость степени сжатия от числа потоков монотонная.

    Всего записей: 1015 | Зарегистр. 12-06-2019 | Отправлено: 16:15 25-02-2023
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lelik007
    Цитата:
    только в GUI -slp не задашь или я не знаю как
    В настройках отметить галочку "использовать большие страницы памяти".
     
    Добавлено:

    Цитата:
    Если потоков для LZMA2 больше двух, то 7-Zip делит входной файл на блоки из расчёта по два потока на блок и сжимает каждый блок независимо. Сжатие при этом ускоряется, но, как правило, ухудшается.  
    Это пратическим путём подтверждаю, игрался в своё время с потоками, тоже пришёл к двум.

    Всего записей: 16755 | Зарегистр. 04-11-2010 | Отправлено: 18:37 25-02-2023
    lelik007



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    uShell
    Проблема в том, что сильно не ускоряется сжатие при использовании потоков больше 2
    для LZMA2. При этом вы верно отметили в Winrar и ZSTD (других архиваторах)  
    как раз очень сильно видно разницу при использовании, удвоенного кол-ва потоков.
    Хорошая новость в том, что Игорь таки оптимизирует программу и если взять уж очень старую версию,
    на одних настройках разница хорошо заметна. Я сам обратил внимание после какого то обновления,
    стала быстрее жать. Но вот не помню после какого (в пределах 2-3 лет).

    Всего записей: 2770 | Зарегистр. 13-10-2006 | Отправлено: 19:22 25-02-2023
    codecs



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    тоже пришёл к двум.

     
    2 потока выигрывают в скорости и не проигрывают в сжатии только на одном блоке (макс. размер 256 МБ). Если блоков больше одного, то два потока проигрывают в сжатии одному потоку

    Всего записей: 2014 | Зарегистр. 22-07-2003 | Отправлено: 19:29 25-02-2023
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    codecs
    Block size = solid (вот так) и никаких проблем даже на 3 потоках. Расход памяти получается как на одном плюс около 4 МБ.

    Всего записей: 16755 | Зарегистр. 04-11-2010 | Отправлено: 19:48 25-02-2023
    uShell

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Если блоков больше одного, то два потока проигрывают в сжатии одному потоку

    Хорошее уточнение. Это означает, что ручное задание ключа -mc параметра c при двух потоках заставляет LZMA2 жать каждый блок в один поток, то есть приоритет у межблокового параллелизма.

    Всего записей: 1015 | Зарегистр. 12-06-2019 | Отправлено: 20:00 25-02-2023 | Исправлено: uShell, 21:07 25-02-2023
    Inoz2000



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    макс. размер 256 МБ
    не верно так утверждать

    ----------
    Мы все умрём. (-:

    Всего записей: 4916 | Зарегистр. 23-04-2009 | Отправлено: 20:07 25-02-2023
    codecs



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Block size = solid

    путаешь теплое с мягким
     

    Цитата:
    LZMABlockSize
     
    Valid values: 1024 through 262144
     
    Default value: 4 * LZMADictionarySize with a minimum of 1024 and a maximum of 262144
     
    Description: Controls the block size used by the LZMA2 compressor, in kilobytes, when LZMANumBlockThreads is set to 2 or higher. Note that setting this too high can negate the benefits of using multiple block threads. Typically, the block size should be no more than the total size of your data divided by the number of block threads.
     
     

    Всего записей: 2014 | Зарегистр. 22-07-2003 | Отправлено: 20:23 25-02-2023 | Исправлено: codecs, 20:26 25-02-2023
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А ещё смотрим в справке
       

    Цитата:
    mc={N}  
    Sets number of cycles (passes) for match finder. It can be in range from 0 to 1000000000. Default value is (16 + number_of_fast_bytes / 2) for BT* match finders and (8 + number_of_fast_bytes / 4) for HC4 match finder. If you specify mc=0, LZMA will use default value. Usually, a big number gives a little bit better compression ratio and slower compression process. For example, mf=HC4 and mc=10000 can provide almost the same compression ratio as mf=BT4.

    Получается, при использовании -mmf=HC4 -mmc=10000 можно нехило так сэкономить память при упаковке без существенной потери качества сжатия? Кто готов проверить на больших архивах? (у меня сейчас нет возможности)

    Всего записей: 16755 | Зарегистр. 04-11-2010 | Отправлено: 21:02 25-02-2023 | Исправлено: insorg, 02:18 26-02-2023
    uShell

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    при использовании -mf=HC4 -mc=10000 можно нехило так сэкономить память при упаковке без существенной потери качества сжатия?

    Не так уж и нехило - всего вдвое, причём ценой скорости упаковки: количество итераций по умолчанию порядка десятков-сотен и, хотя поиск совпадений занимает лишь долю времени работы компрессора, увеличение этой доли на два порядка будет заметно. На SSD, наверное, будет выгоднее увеличить файл подкачки и нагрузить память.
     
    Кстати, есть ещё hc5 и bt5, но они довольно специфические и обычно выигрыша не дают.

    Всего записей: 1015 | Зарегистр. 12-06-2019 | Отправлено: 21:15 25-02-2023
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    На SSD, наверное, будет выгоднее увеличить файл подкачки и нагрузить память.  
    И тем самым убить этот SSD постоянными записями в своп, ибо архивация подразумевает крайне активную работу с памятью. Своп даже в "обычной" работе крайне неполезен для SSD.

    Всего записей: 16755 | Зарегистр. 04-11-2010 | Отправлено: 02:43 26-02-2023
    mig73



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    insorg
    Объясни мне плиз чем тебе не угодил своп, который активно используется и каким таким хитрым методом ты собрался убивать SSD, пусть даже дешманский.

    Всего записей: 8283 | Зарегистр. 24-02-2010 | Отправлено: 02:54 26-02-2023
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mig73
    Ну смотри. Берём комп с 8 ГБ рамы (типа всяких леново на рязани 3500U с распаянной DDR4 на мамке). Из них часть - на винду, часть - на фоновый софт, часть - на нужды всякой там видео встройки (2 ГБ без шансов уменьшить) и прочие резервы. Итого, остаётся гигов 5 от силы, из которых нам доступно для использования вообще около 4.
    На упаковку с нужным набором настроек и словарём 512 МБ нам нужно 5415 МБ (по данным гуя, а по факту - все ~5300 МБ, т.к. он почему-то не учитывает всякие там BCJ2 в конце для бинарников), а свободных у нас - максимум 4 ГБ и потому полтора уходит в своп, который будет крайне активно туда-сюда писать-читать. Сколько SSD доживёт до конца упаковки архива, которое готово растянуться в вечность?

    Всего записей: 16755 | Зарегистр. 04-11-2010 | Отправлено: 03:09 26-02-2023
    mig73



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    insorg
    Спасибо конечно за развёрнутый ответ, но чото перестал экономить свой 850 250 еву уже давно, пусть подохнет и купим новый, но он гадёныш живее всех живых.

    Всего записей: 8283 | Зарегистр. 24-02-2010 | Отправлено: 03:17 26-02-2023
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mig73
    Вообще-то "экономить на спичках" и "заведомо убивать ресурс" - вещи разные. Понятно, что бегать за каждым байтом - глупость несусветная, я этим даже на обычных флешках не занимаюсь. Но заведомо отдавать SSD на растерзание свопу при оверхэде в полтора ГБ активно используемой памяти... Даже если оно выживет, то процесс упаковки готов затянуться на часы-дни-недели...
     
    Сейчас, вон, пробую "в боевом режиме" этот -mmf=HC4 -mmc=10000 и пока предварительные результаты мне нравится не начали, особенно на больших словарях. Время упаковки возрастает в разы. На словаре в 64 МБ разница была в 7 раз в пользу отсутствия этой парочки. На словаре 128 МБ и другом наборе файлов упакованное за 3 минуты (строка -mx=9 -mmt=2 -myx=9 -mqs -mfb=273 -md=64M -slp), после добавления этих самых -mmf=HC4 -mmc=10000 обрабатывается уже 74-ю минуту (при этом больше чем час я вижу процент выполнения 97%) и не думает заканчиваться. Отменил нафиг, надоело ждать.
    Возможно, надо было не брать со справки сразу 10000, а начинать с меньших значений...
     
    Добавлено:
     
    Ещё попробовал упаковать слегка модифицированную папку ungoogled-chromium-110.0.5481.178-1_Win64\

    Код:
    @C:\PROGRA~1\7-Zip\7z.exe a -mx=9 -mmt=2 -myx=9 -mqs -mfb=273 -md=64M -slp "%~n0.7z" U*
    дало на выходе  
    test1.7z    93 407 158    26.02.23 01:58    -a--
    Рамы использовано около 750 МБ
    Выполнялось 162 сек

    Код:
    @C:\PROGRA~1\7-Zip\7z.exe a -mx=9 -mmt=2 -myx=9 -mqs -mfb=273 -md=64M -slp -mmf=HC4 -mmc=128 "%~n0.7z" U*
    дало на выходе  
    test2.7z    95 123 112    26.02.23 03:42    -a--
    Рамы использовано около 850 МБ  (на 100 больше, а не меньше!)
    Выполнялось 1201 сек
     
    Не вижу смысла в этом HC4 от слова совсем. Дольше, сложнее, а выхлоп даже хуже.
    Или надо было брать какой-то другой набор файлов вместо дистра браузера?

    Всего записей: 16755 | Зарегистр. 04-11-2010 | Отправлено: 03:57 26-02-2023 | Исправлено: insorg, 04:49 26-02-2023
    lelik007



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    insorg
    codecs
    Если уменьшить кол-во потоков до 1-го в целях увеличения сжатия или еще как то увеличить время,
    то у вас получится ZPAQ (который я когда то пробовал), так он еще очень быстрый архиватор семейства PAQ.
    7-zip 2 потока на большом словаре и так очень не быстро.
    P.S.
    insorg
    Кстати, попробовал я ZSTD на
    https://github.com/ungoogled-software/ungoogled-chromium-windows/releases/download/110.0.5481.100-1.1/ungoogled-chromium_110.0.5481.100-1.1_windows_x64.zip
    Вы я так понял на чем то похожем и тестите, правда ваша.
     
    ZSTD жмет в 4 потока на x=22 в 2 раза дольше 7-zip (то минуты есть 3 против 1м30c у 7-zip), а результат на
    10-15% больше. Короче как Winrar за 30 секунд в 4 потока. Занятная видать папочка.

    Всего записей: 2770 | Зарегистр. 13-10-2006 | Отправлено: 07:00 26-02-2023 | Исправлено: lelik007, 07:30 26-02-2023
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81

    Компьютерный форум Ru.Board » Компьютеры » Программы » 7-Zip | 7z | 7Zip (часть 4)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru