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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115

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

Maz



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


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

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

Загрузить:

Последняя стабильная версия: 25.01 (03.08.2025) | Download 7-Zip 25.01 (03.08.2025)
 
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.04 (05.04.2024), для Linux/MacOs 05.05.2024 выложена v24.04 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 и др. Vista+. На странице есть подробные результаты тестов разных алгоритмов и инструменты для тестирования.
  • 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)

  • Всего записей: 39642 | Зарегистр. 26-02-2002 | Отправлено: 20:16 28-11-2021 | Исправлено: Victor_VG, 20:45 03-08-2025
    codecs



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

    Цитата:
    Для zip дата модификации обязательна

    неоднократно встречал архивы у которых рандомная часть файлов без даты - при распаковке, в зависимости от распаковщика, им устанавдивается либо дефолтная либо текущая дата. Єто раздражает

    Всего записей: 2231 | Зарегистр. 22-07-2003 | Отправлено: 11:44 22-09-2025
    uShell

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

    Цитата:
    также может ли 7Zip упаковать зипархив не сохраняя при этом информацию о датах создания модификации файлов-каталогов

    Чтобы не показывалась дата каталогов, надо исключить их из обработки. То есть, например, упаковывать не MyDir, а MyDir\*. 7-Zip будет показывать каталоги как часть пути, но дат там не будет. Для файлов же поле времени изменения является обязательным, как выше отметил los.

    Всего записей: 1147 | Зарегистр. 12-06-2019 | Отправлено: 12:20 22-09-2025
    los

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

    Цитата:
    неоднократно встречал архивы у которых рандомная часть файлов без даты - при распаковке, в зависимости от распаковщика, им устанавдивается либо дефолтная либо текущая дата.  

    Для zip 7z без сохранения даты модификации этого сделать не позволяет.

    Всего записей: 7954 | Зарегистр. 08-09-2001 | Отправлено: 12:21 22-09-2025
    uShell

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

    Цитата:
    встречал архивы у которых рандомная часть файлов без даты

    Скорее всего, это реакция распаковщика на ноль в поле даты. 7-Zip, по-моему, трактует ноль как правильную дату (начало эпохи DOS - 1 января 1980), а вот Проводник тот же ноль трактует как отсутствие даты и не пишет ничего.

    Всего записей: 1147 | Зарегистр. 12-06-2019 | Отправлено: 12:22 22-09-2025
    codecs



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

    Цитата:
    это реакция распаковщика на ноль в поле даты

    это понятно - вопрос в том почему случайная часть файлов оказалась без даты - какой либо внятной зависимости обнаружить не удалось

    Всего записей: 2231 | Зарегистр. 22-07-2003 | Отправлено: 13:57 22-09-2025
    insorg



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

    Цитата:
    встречал архивы у которых рандомная часть файлов без даты  

    Рекомендую почитать в сторону параметров   -mtc- -mtm- -mta- -mtr-  (при упаковке). Сабж такое тоже умеет делать.

    Цитата:
    вопрос в том почему случайная часть файлов оказалась без даты  

    Каково происхождение таких архивов? Не раз и не два попадались всякие упаковщики на "встраиваемых" системах (банкоматы, клавишные нокия на s60, плееры), которые способны собирать zipы (иногда просто ради факта zip, без сжатия) и при этом не сохраняли никаких временнЫх меток с исходных файлов.
     
    Добавлено:
    И вот именно в тех архивах не просто показывалась "стартовая" дата, которую можно представить из нуля, а именно что пустые поля - и в Totalcmd, и в Winrar.

    Всего записей: 19951 | Зарегистр. 04-11-2010 | Отправлено: 19:27 22-09-2025
    Kero1



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

    Цитата:
    Код:
     
    # compress with (g)zip
    /tmp/n-gz-9 $ time gzip -n9 *  

    а это чем вы мерили ?
     
    А такой принцип упаковки как применён в swabby.zip быстрее будет распаковываться и меньше нагрузки на цп будет, по сравнению если бы тоже содержимое было упаковано стандартным zip в самой минимальной компрессии, типа 1 ?
     
    Добавлено:
    insorg

    Цитата:
    пустые поля - и в Totalcmd, и в Winrar.
    есть такое и с сжатием.
    Цитата:
     -mtc- -mtm-
    там дата отображается 1980.

    Всего записей: 2813 | Зарегистр. 23-08-2011 | Отправлено: 03:40 23-09-2025 | Исправлено: Kero1, 03:51 23-09-2025
    los

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

    Цитата:
    И вот именно в тех архивах не просто показывалась "стартовая" дата, которую можно представить из нуля, а именно что пустые поля - и в Totalcmd, и в Winrar.

    Есть пример подобного архива?

    Всего записей: 7954 | Зарегистр. 08-09-2001 | Отправлено: 08:41 23-09-2025
    tansy

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

    Цитата:
    а это чем вы мерили?

    Kero1:
     
    'Чем вы измеряли? - Это то, что вы спрашиваете?
     
    Как показано в журнале, я измерил со time(1), встроенный во time.
     
     

    Цитата:
    А такой принцип упаковки как применён в swabby.zip

     

    Код:
     
    PWD1=`pwd`
    unzip -q -j -dswabby1 swabby.zip
     
    cd swabby1
    zip -0 ../swabby1.zip *
    cd $PWD1
     
    cp -r swabby1 swabby1-gz-9
    cd swabby1-gz-9
    gzip -n -9 *
    zip -0 ../swabby1-gz-9.zip *
    cd $PWD1
     
    cp -r swabby1 swabby1-br-11
    cd swabby1-br-11
    brotli -q 11 --rm *
    zip -0 ../swabby1-br-11.zip *
    cd $PWD1
     
    wc -c swabby1*.zip  
     
    12680 swabby1-br-11.zip
    14147 swabby1-gz-9.zip
    33425 swabby1.zip
     

     
    Существует разница, ~ 10% от сжатого размера, но по сравнению с несжатым размером это всего лишь 4%.
    Это, на мой взгляд, не оправдывает повышенную сложность кода, увеличивает нагрузку на ЦП и тому подобное.
    Исполняемый файл Brotli составляет 800+ kB; Как это сопоставимо с сохранением 1,5 kB?
    Даже в случае «n.zip» разница в 1,3 MB снизилась бы до 500 kB после учета библиотеки/исполняемого размера Brotli, и если вы использовали 7-zip или libdeflate, это будет всего 140 kB.
     

    Цитата:
    быстрее будет распаковываться и меньше нагрузки на ЦП будет

     
    Трудно показать его с таким небольшим файлом (30 kB), но вы можете ссылаться на результаты «n.zip», где unzip занял 0,4 с, а unbrotli 0,6 с на моем компьютере лома.
    Но это будет похоже на любой другой компьютер.
    Здесь, на Squash Compression Benchmark, декомпрессия zlib составляет 200 MB/s, а декомпрессия brotli 107 MB/s.
    Даже с точки зрения разработчиков и точки зрения создателя пакетов (G) сжатие Zip/Zlib -9 на 24 раза быстрее, чем Brotli -11. Даже использование Libdeflate -12 будет в 14 раз быстрее.
     

    Цитата:
    по сравнению если бы тоже содержимое было упаковано стандартным zip в самой минимальной компрессии, типа 1?

     
    По сравнению с каким аспектом, скоростью, сжатым размером?
    Никто не использует самое быстрое сжатие (-1) для создания пакетов. Он может использоваться для сжатия на лету (веб-контент), но ставки довольно сжаты один раз и декомпрессируются много раз, поэтому имеет смысл сжать их максимально, поэтому они занимают меньше места. И скорость декомпрессии аналогична для всех уровней сжатия.
     


     

    Цитата:
    And such a packaging principle as applied in Swabby.zip

     
    There is a difference, ~10% of compressed size, but in comparison to uncompressed size it's just 4%.
    It doesn't, in my opinion, justify increased complexity of the code, increased CPU load and that kind of stuff.
    Brotli executable is 800+ kB; how is that comparable to 1.5 kB saved?
    Even in case of `n.zip', difference of 1.3 MB would go down to 500 kB after you account for brotli library/executable size, and if you used 7-zip or libdeflate it would be just 140 kB.
     

    Цитата:
    will be unpacked faster and less load on the CPU will be

     
    It's diffcult to show it with such small file (30 kB) but you can refer to `n.zip' results where unzip took 0.4 s, and unbrotli 0.6 s, on my scrap computer.
    But it will look similar on any other computer.
    Here, on Squash Compression Benchmark, zlib decompression is 200 MB/s and brotli decompression 107 MB/s.
    Even from developers and package creator's perspective (g)zip/zlib -9 compression is 24+ times faster than brotli -11. Even using libdeflate -12 would be 14 times faster.
     

    Цитата:
    Compared if the contents were also packed with standard ZIP in the most minimum compression, like 1?

     
    Compared in what aspect, speed, compressed size?
    No one uses fastest compression (-1) to create packages. It may be used for on-the-fly (web content) compression, but packages are rather compressed once and decompressed many times, so it makes sense to compress them maximally, so they take less space. And decompression speed is similar for all compression levels.

    Всего записей: 70 | Зарегистр. 19-09-2024 | Отправлено: 11:20 23-09-2025 | Исправлено: tansy, 11:21 23-09-2025
    SFC



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Возможно ли както указать в командной строке ограничение потребления памяти?
    Если указать -mx9 или -mx7 то памяти не хватает, и архивация падает
    Если указать -mx5 то все архивация идет норм, но файл архива большой, = сжимает плохо.
    P.S. Хочется указать -mx9 или -mx7 но указать ограничение потребления памяти.

    ----------
    [ offline ]

    Всего записей: 1673 | Зарегистр. 21-01-2003 | Отправлено: 12:47 23-09-2025 | Исправлено: SFC, 12:49 23-09-2025
    tansy

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

    Цитата:
    Возможно ли както указать в командной строке ограничение потребления памяти?
    Если указать -mx9 или -mx7 то памяти не хватает, и архивация падает

     
    SFC:
     

    Цитата:
     
    7zip.chm::cmdline/switches/method.htm:
     
    memuse=[ p{N_Percents} | {N}b | {N}k | {N}m | {N}g | {N}t]
     
        Sets a limit on memory usage (RAM) for compressing and decompressing commands.
     
        Default memory limits are 80% from RAM size for compressing and 53% for decompressing.
     
        7-Zip tries to fit in specified memory limits by changing the number of working threads,
        if the number of threads was not specified in command. If 7-Zip cannot fit in specified memory limit,
        7-Zip still executes the command.
     
        Example:
     
                memuse=p60
     
                7z a -mmemuse=p60 arc.7z files...
     
        set the limit for memory usage to 60% of RAM size.
     
                memuse=14g
     
                7z a -mmemuse=14g arc.7z files...
     
        set the limit for memory usage to 14 GiB.
     

     
    Хотя я не думаю, что это то, что вы ищете.
     
    Несколько странно, что у вас недостаточно памяти.
    Я думаю, что ваша проблема возникает из раздвижного окна (ipavlov называемого 'словар'), который большой, и недавно (в v24.09) увеличилась до гораздо больших значений.
     
    Как правило, LZMA использует 12 -кратный размер памяти окна/словаря (11,5x + что -то).
    Уровень сжатия 6+ использует окно 64 МБ в 32-битном режиме, а уровень 8+ использует окно 256 МБ в 64-битном режиме. Это окно 64 МБ соответствует 768 МБ памяти (700 МБ действительности, но вам все равно нужно запустить систему, чтобы она немного утешила), а 256 МБ соответствует 3 ГБ (немного меньше, но это незначительная деталь).
     
    Если вы хотите уменьшить потребление памяти, вы должны управлять окном/словарем в параметрах или командной строке.
     

    Код:
     
    $ 7z a -mx9 -md64m archive.7z files
     

     
    Он будет использовать окно 64 МБ независимо от настройки по умолчанию для `-mx9 '.
     
     


     
    There is this option: memuse:
     
    Although I don''t think that's what you are looking for.
     
    It's somewhat strange you don't have enough memory.
    Me think your problem comes from sliding window (called by ipavlov 'dictionary') size that is big, and was recently (in v24.09) increased to much bigger values.
     
    As a rule of thumb lzma uses 12 times window/dictionary size of memory (11.5x + something).
    Compression level 6+ uses 64 MB window in 32-bit mode and level 8+ uses 256 MB window in 64-bit mode. That 64 MB window corresponds to 768 MB of memory (700 in reality, but you still need run a system so it's little consolation), and 256 MB corresponds to 3GB (slightly less but it's minor detail).
     
    If you want to decrease memory consumption you have to control window/dictionary within options or command line.
     

    Код:
     
    $ 7z a -mx9 -md64m archive.7z files
     

     
    It will use 64 MB window regardless of default settings for `-mx9'.

    Всего записей: 70 | Зарегистр. 19-09-2024 | Отправлено: 14:12 23-09-2025 | Исправлено: tansy, 19:29 23-09-2025
    Kero1



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

    Цитата:
    вы спрашиваете?  
    да, вы правильно поняли.  

    Цитата:
    По сравнению с каким аспектом, скоростью, сжатым размером?  
    имелось ввиду,  
    если то, что находится в архиве swabby.zip сжать в обычный zip c -mx=1 и сравнить скорость распаковки конкретно swabby.zip и его копии сжатой обычным методом zip (-mx=1), то разархивирование (распаковка) будет происходить быстрее, из-за меньшей нагрузки на центральный процессор ? Интересует, даёт ли такой нестандартный метод упаковки как в архиве swabby.zip преимущества по скорости распаковки в сравнении с обычным методом сжатия zip.  
     

    Цитата:
    Никто не использует самое быстрое сжатие
    это для расширений (addons) firefox. во время старта браузера приходится распаковывать 20-30 расширений и это очень замедляет запуск браузера. Потому я предполагаю, что если сжатие будет минимальным -mx=1, то это ускорит запуск, особенно это заметно на компьютерах со старыми   процессорами. Возможно даже лучше использовать -mx=0 чтобы ускорить запуск браузера, хотя размер конечно будет больше.  
     
    Также вы пишите, что swabby.zip это тоже brotli ? Правильно ли я вас понял? Я считал, что swabby.zip нестандартный вариант zip. А brotli это n.zip.  
     
    ps.

    Цитата:
    Никто не использует самое быстрое сжатие
    тем не менее, тиран гугл уже готовит принудительный переход всех на этот метод, со старых, менее тяжёлых gzip и deflate. В браузере хром они добавили brotli и zstd, что будет тормозить открытие вебсайтов не на самых новых компьютерах. firefox также стал поддерживать brotli. Хорошо, что это метод почти никто не применяет. Но гугл умеет продавливать.

    Всего записей: 2813 | Зарегистр. 23-08-2011 | Отправлено: 02:36 24-09-2025 | Исправлено: Kero1, 03:58 24-09-2025
    insorg



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

    Цитата:
    Возможно ли както указать в командной строке ограничение потребления памяти?  

    Достаточно указывать не более 2 потоков и не брать заоблачные словари. Тогда все остальные настройки можно смело выкручивать в максимальные и ни в чём себе не отказывать.
     
    @7zg.exe a -mx=9 -mmt=2 -myx=9 -mqs -mfb=273 -md=128M pack.7z *.*
     
    И понеслась. Зависимо от расстояния, на которое надо найти похожие данные, можно словарь делать меньше (тогда расход памяти меньше), или больше (тогда похожее пакуется более оптимально, но и расход выше). ЕМНИП, расход памяти на упаковку прописан в справке. Типично около х11 раз от размера словаря, если грубо округлить.

    Всего записей: 19951 | Зарегистр. 04-11-2010 | Отправлено: 03:36 24-09-2025
    uShell

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

    Цитата:
    даёт ли такой нестандартный метод упаковки как в архиве swabby.zip преимущества по скорости распаковки

    Про Brotli написано: "It is similar in speed with deflate but offers more dense compression", так что его преимущества сводятся только к меньшему объёму исходных данных (что при постоянной скорости уменьшает время и распаковки, и чтения). А вот, скажем, LZ4 предлагает очень быструю распаковку.
    UPD: вот, нашёл бенчмарк: Brotli - 345-480 МБ/с, Deflate - 323-348 МБ/с (медленнее Brotli, но это не особо оптимизированный zlib), LZ4 - 579 МБ/с.
     

    Цитата:
    приходится распаковывать 20-30 расширений и это очень замедляет запуск браузера

    Скорость чтения с магнитного диска обычно уступает скорости распаковки, особенно для мелких файлов, где головка вынуждена метаться между MFT/FAT, каталогом и самим файлом. Например, на моём довольно старом компьютере Deflate распаковывается со скоростью порядка 67 МБ/с, поэтому сжатие может ускорить чтение (особенно если распаковка идёт параллельно с чтением следующего расширения). Deflate64, кстати, будет выгоднее, т.к. скорость распаковки у него такая же, но сжимает он чуть лучше.
     

    Цитата:
    Достаточно указывать не более 2 потоков и не брать заоблачные словари. Тогда все остальные настройки можно смело выкручивать в максимальные и ни в чём себе не отказывать.

    Как правило (хотя и не всегда), именно словарь определяет степень сжатия, поэтому "ни в чём себе не отказывать" звучит странно.

    Всего записей: 1147 | Зарегистр. 12-06-2019 | Отправлено: 08:40 24-09-2025 | Исправлено: uShell, 08:47 24-09-2025
    SFC



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

    Цитата:
    Хотя я не думаю, что это то, что вы ищете.
     ... ваша проблема возникает из раздвижного окна (ipavlov называемого 'словар'), который большой, и недавно (в v24.09) увеличилась до гораздо больших значений.
    ... -md64m
    Да, вы абсолютно правы, Спасибо. Теперь так работает.
     
    insorg

    Цитата:
    Достаточно указывать не более 2 потоков и не брать заоблачные словари. Тогда все остальные настройки можно смело выкручивать в максимальные и ни в чём себе не отказывать.
    @7zg.exe a -mx=9 -mmt=2 -myx=9 -mqs -mfb=273 -md=128M pack.7z *.*
    Да, и так работает со словарем 128M. Медленее, но и упаковывает на 5% лучше. чем просто: -mx9 -md64m
    Спасибо.

    ----------
    [ offline ]

    Всего записей: 1673 | Зарегистр. 21-01-2003 | Отправлено: 09:09 24-09-2025 | Исправлено: SFC, 09:10 24-09-2025
    tansy

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

    Цитата:
    если то, что находится в архиве swabby.zip сжать в обычный zip c -mx=1 и сравнить скорость распаковки конкретно swabby.zip и его копии сжатой обычным методом zip (-mx=1)

     
    Во -первых, этот пакет (swabby.zip) сжимается Zip, с максимальным сжатием. Это может быть определено с помощью «Defl:X» в столбце метода (`$ unzip -lv swabby.zip ').
     

    Цитата:
    то разархивирование (распаковка) будет происходить быстрее, из-за меньшей нагрузки на центральный процессор?

     
    Скорость декомпрессии компрессоров LZSS, например (G) ZIP, практически не зависит от коэффициента сжатия. Лучшее сжатие декацирует даже немного быстрее.
    Проверьте это бенчмарк.
     

    Цитата:
     

    Compressor name     Compression  Decompress.  Compr. size     Ratio
    zlib 1.3.1 -1         93.0 MB/s     323 MB/s     77259029     36.45
    zlib 1.3.1 -6         25.3 MB/s     344 MB/s     68228431     32.19
    zlib 1.3.1 -9         10.3 MB/s     348 MB/s     67644548     31.92

     

     

    Цитата:
    Интересует, даёт ли такой нестандартный метод упаковки как в архиве swabby.zip преимущества по скорости распаковки в сравнении с обычным методом сжатия zip.

     
    Это не так. Brotli распаковывается медленнее.
    Вы можете проверить это самостоятельно с помощью `$ ./lzbench -ezlib, 1,6,9/brotli, 1,6,9 <File> 'или бенчмарки, таких как squash, turbobench, lzbench.
     

    Цитата:
    это для расширений (addons) Firefox. во время старта браузера приходится распаковывать 20-30 расширений и это очень замедляет запуск браузера. Потому я предполагаю, что если сжатие будет минимальным -mx=1,

     
    Если у вас 20 расширений, то конечно. У большинства людей нет.
     

    Цитата:
    то это ускорит запуск, особенно это заметно на компьютерах со старыми процессорами.

     
    Ну, на мой взгляд, это незаметно.
    Все мои расширения занимают 0,246 с для полного декомпресса (`$ времени для f in *xpi; do unzip -tqq $ f; сделано '), и у меня очень старый и медленный, для сегодняшнего дня, компьютер. Кроме того, это - большинство контента расширения - это ресурсы, локализация и прочее, которые не должны быть декомпрессированы во время выполнения, только когда вы на самом деле начинаете просматривать и загружать первую страницу, что ускоряет время выполнения и делает его быстрее. Кроме того, в наши дни, на многопроцессорных/многопоточные машины каждый расширение может быть декомпрессировано в отдельном потоке, чЯ уверен, что он оптимизирован разработчиками браузеров.
     

    Цитата:
    Возможно даже лучше использовать -mx=0 чтобы ускорить запуск браузера, хотя размер конечно будет больше.

     
    Это не поможет вам, по причинам, экспрессированным выше, но если вы не верите мне, то протестируйте это самостоятельно и покажите результаты.
     
    Получите портативный браузер Firefox, измерьте его время начала без расширений. Установите расширения и измеряйте это снова. Расширение переучтека без сжатия (-mx0) и измеряйте его снова.
     
    Вы можете использовать этот скрипт:
    (Если вы в Windows Используйте GnuWin32, MSYS или Cygwin)
     

    Код:
     
    #!/bin/sh
    DATEX=`date +%s%N | cut -b1-13`
    ./firefox "javascript:ts=${DATEX};alert('firefox start time: '+(Date.now()-ts)+' [ms]');"
     

     
     


     
     

    Цитата:
    If the fact that is in the swabby.zip archive to compress the usual zip c -mx = 1 and compare the unpacking speed specifically swabby.zip and its copies of the zip (-mx = 1)

     
    First, this package (swabby.zip) is compressed with zip, with maximal compression. It can be determined by 'Defl:X' in method column (`$ unzip -lv swabby.zip').
     

    Цитата:
    compressed by the usual method, then will unit (unpacking) occur faster due to the lesser load on the central processor?

     
    Decompression speed of LZSS compressors, like (g)zip, is practically independent of compression ratio. Better compression decompresses even slightly faster.
    Check this benchmark
     

    Цитата:
     

    Compressor name     Compression  Decompress.  Compr. size     Ratio
    zlib 1.3.1 -1         93.0 MB/s     323 MB/s     77259029     36.45
    zlib 1.3.1 -6         25.3 MB/s     344 MB/s     68228431     32.19
    zlib 1.3.1 -9         10.3 MB/s     348 MB/s     67644548     31.92

     

     
    If it doesn't matter how much it is compressed then, in case of package, it's better to compress it maximally and then decompress just as fast as any other compression level.
     
     

    Цитата:
    Interested in whether such a non -standard packaging method gives as in the swabby.zip archive the advantages in the speed of unpacking in comparison with the usual ZIP compression method.

     
    It doesn't. Brotli decompresses slower.
    You can check it yourself with `$ ./lzbench -ezlib,1,6,9/brotli,1,6,9 <file>' or check benchmarks like squash, turbobench, lzbench.
     

    Цитата:
    This is for extensions (Addons) Firefox. During the start of the browser, you have to unpack 20-30 extensions and this very slows down the launch of the browser. Therefore, I assume that if the compression is minimal -mx = 1,

     
    If you have 20 extensions then sure. Most people don't have.
     

    Цитата:
    then this will accelerate the launch, this is especially noticeable on computers with old processors.

     
    Well, it's imperceptible in my opinion.
    All my extensions take 0.246 s to fully decompress (`$ time for f in *xpi; do unzip -tqq $f; done') and I have very old and slow, for today standards, computer. Moreover that - majority of extension content are resources, localizations, and stuff, which don't have to be decompressed on runtime, only when you actually start browsing and load first page, which speeds up runtime and makes it faster. Plus, these days, on multi-processor/multi-threaded machines every extension can be decompressed in separate thread, which makes it many times faster. I'm sure it is optimised by browser developers.
     

    Цитата:
    It is possible to even use -mx = 0 to speed up the launch of the browser, although the size will certainly be larger.

     
    That will not help you, for the reasons explained above, but if you don't believe me, then test it yourself and show the results.
     
    Get a portable Firefox browser, measure its start time without extensions. Install extensions and measure it again. Repack extensions without compression (-mx0) and measure it again.
     
    you can use this script:
    (if you're on Windows use GnuWin32, MSYS or Cygwin)
     

    Код:
     
    #!/bin/sh
    DATEX=`date +%s%N | cut -b1-13`
    ./firefox "javascript:ts=${DATEX};alert('firefox start time: '+(Date.now()-ts)+' [ms]');"
     






    Официальный язык форума русский и нет необходимости дублировать сообщение на английском языке.

    Всего записей: 70 | Зарегистр. 19-09-2024 | Отправлено: 11:01 24-09-2025 | Исправлено: Maz, 20:53 24-09-2025
    Kero1



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

    Цитата:
    Deflate64
    оно не поддерживается в firefox только Deflate.
     
    tansy
    да уж, честно говоря результаты тестов меня удивили. Никогда бы не подумал. И помню ещё много лет назад один человек на этом же форуме доказывал, что чем слабее компрессия, тем быстрее распаковывает. И даже mozilla в новых firefox убрала абсолютно сжатие из главных ресурсов omni.ja, хотя раньше они были сжаты.
     
    а что бы вы тогда посоветовали для упаковки расширений firefox или просто Zip архивов оптимизированных для максимальной скорости распаковки, (на виндовс, XP желательно) в Deflate?   Имеет ли смысл использовать для этой цели 7Zip или лучше другую программу ?   И если другая программа, то желательно командную строку если она консольная.  

    Всего записей: 2813 | Зарегистр. 23-08-2011 | Отправлено: 04:10 25-09-2025
    uShell

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

    Цитата:
    для максимальной скорости распаковки, (на виндовс, XP желательно) в Deflate

    Я бы подчеркнул разницу между скоростью и временем распаковки. Скорость распаковки примерно одинакова для разных вариантов сжатия, отличия будут наиболее заметны на несжатых данных в их пользу (подробнее). Поэтому вариант

    Цитата:
    mozilla в новых firefox убрала абсолютно сжатие

    вполне объясним; аналогично поступил и разработчик Java - встроенные библиотеки классов типа rt.jar обычно распространяются несжатыми. С другой стороны, время распаковки равно скорости, умноженной на размер сжатых данных. Если данные сжимаются хорошо, то затраты на распаковку могут компенсироваться уменьшением чтения с медленного носителя. В этом случае надо сжимать данные возможно сильнее: имеет смысл начать с 7-Zip, а затем обработать архив каким-нибудь оптимизатором вроде advzip (из состава AdvanceCOMP) и deflopt/defluff. deflopt особенно полезен для плохо сжимаемых данных, потому что умеет записывать несжимаемые блоки без сжатия - сообразительность архиваторов обычно ограничена целыми файлами. А вообще есть много разных утилит, направленных на достижение лучшего сжатия Deflate. Как вариант, можно вместо Deflate использовать LZNT1 (т.е. поместить файлы в архив без сжатия, а сам архив сжать на уровне NTFS).
     
    Ну и ещё надо отметить, что для разных компьютеров и конфигураций браузера результаты могут отличаться. Надо проверять.

    Всего записей: 1147 | Зарегистр. 12-06-2019 | Отправлено: 13:29 25-09-2025 | Исправлено: uShell, 13:47 25-09-2025
    tansy

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

    Цитата:
     Танси:
    Да
     

     
    Kero1
     
    Да, что конкретно?
     
     
    Я запустил Firefox Portable и протестировал его с помощью и без них.
     

    Цитата:
     
    # Start of Firefox portable, without extensions [s]:
    4.253; 3.257, 3.243, 3.226, 3.257
     
    # with extensions [s]:
    6.818; 3.942, 3.939, 3.921, 3.967
     
    average diff = 0.696500 [s]
     
    # unpacking all extensions into mempry to run them:
    $ time for f in *.xpi; do unzip -tqq $f; done
    real    0m0.180s
     

     
    Очевидно, что декомпрессия времени (0,180 с) представляет собой только (небольшую) фракцию всей разницы во времени начала (0,696 с).
     

    Цитата:
    И я помню много лет назад один человек на одном форуме доказал, что более слабая сжатие, быстро это распаковано.

     
    Это неправда. Теперь на самом деле это может быть частично верно в конкретном контексте, но это можно проверить.
    Давайте проверим контрольный центр сквоша [1] - скорость декомпрессии Zlib идет AP с сжатием. То же самое относится и к Lzbench на любой машине [2].
     

    Код:
     

    ; gcc-14 x86 64-bit [Ubuntu 24.04]
    zlib 1.3.1 -1            65.4 MB/s   234 MB/s     2848656  47.53 ./lzbench
    zlib 1.3.1 -6            21.1 MB/s   253 MB/s     2631459  43.91 ./lzbench
    zlib 1.3.1 -9            7.91 MB/s   254 MB/s     2624484  43.79 ./lzbench
     
    ; mingw64-gcc 15.1.0 x86 64-bit
    zlib 1.3.1 -1            78.2 MB/s   271 MB/s     3444532  38.74 lzbench.exe
    zlib 1.3.1 -6            24.9 MB/s   293 MB/s     3154291  35.47 lzbench.exe
    zlib 1.3.1 -9            9.72 MB/s   295 MB/s     3136877  35.28 lzbench.exe
     
    ; mingw32-gcc 15.1.0 x86 32-bit
    zlib 1.3.1 -1            44.1 MB/s   189 MB/s     3311136  39.09 lzbench.exe
    zlib 1.3.1 -6            17.1 MB/s   209 MB/s     3019399  35.64 lzbench.exe
    zlib 1.3.1 -9            7.25 MB/s   211 MB/s     3000347  35.42 lzbench.exe
     
    ; clang [macOS 14]
    zlib 1.3.1 -1            61.6 MB/s   203 MB/s     2401000  47.96 ./lzbench
    zlib 1.3.1 -6            22.1 MB/s   227 MB/s     2242206  44.79 ./lzbench
    zlib 1.3.1 -9            8.42 MB/s   222 MB/s     2235049  44.64 ./lzbench

     

     
    Давайте даже предположим, что вы добавляете время от чтения и декомпрессии.
     
    В упрощенном сценарии, где вы учитываете только для чтения единого архива:
    Существует 3 МБ архивов XPI, которые распадаются до 10 МБ, и на приличного медного (как в сквош -тесте) потребуется 0,050 с (как в сквош -тесте).
    Время чтения от SSD составляет 0,006 с для архива + 0,050 с декомпрессия = 0,056 с.
    Время чтения, не сжатое (-0 ') архив составляет 0,020 с.
     
    Да быстро, цель на самом деле 0,036 с?
     
    Но на жестком диске это не так разрезано и сухо.
    Время чтения жесткого диска составляет 0,030 с для архива + 0,050 с декомпрессией = 0,080 с.
     
    Время чтения, а не сжатый (-0 ') архив составляет 0,100 с, что больше. Таким образом, на жестком диске, это более полезно, чтобы он сжимал и декомпрессался на лету, а не остается в безрассудке, поскольку она медленнее.
    Дьявол в деталях.
     
     

    Цитата:
    И что бы вы тогда посоветовали Firefox или простой почтовому архивам, оптимизированным для максимальной скорости распаковки в Deflate?

     
    Получите максимальное сплочение.
     
    Если файлы уже сжимаются с помощью LZSS (например, Deflate), то более высокое сжатие лучше и быстрее для целей декомпрессии. Требуется меньше места, требуется меньше времени, чтобы читать с диска и быстрее декомпрессировать.
     

    Цитата:
    Имеет ли смысл использовать для этой цели 7Zip или лучше другую программу?

     
    Вы все еще говорите о контейнерах для веб-браузеров?
     
     
    1. Squash Compression Benchmark
    https://quixdb.github.io/squash-benchmark/#ratio-vs-decompression
    https://quixdb.github.io/squash-benchmark/#results
     
    2. lzbench pipelines
    https://dev.azure.com/inikep/lzbench/_build/results?buildId=2760&view=results

    Всего записей: 70 | Зарегистр. 19-09-2024 | Отправлено: 14:53 25-09-2025 | Исправлено: tansy, 14:57 26-09-2025
    Kero1



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

    Цитата:
    надо выполнить разбор деревьев кода Хаффмана, а затем либо выполнять поиск по дереву (или табличную подстановку)
    вот как чисто предположение, а не имеет ли тот swabby.zip в начале архива несжатые данные для ускорения поиска конкретного файла ? Это по сравнению с обычными zip.

    Всего записей: 2813 | Зарегистр. 23-08-2011 | Отправлено: 07:10 26-09-2025
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115

    Компьютерный форум 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-2025

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru