FreeArc (Win32)

FreeArc (Win32) 0.67

Нет прав для скачивания
Изменения:
  • lz4: новый, самый быстрый метод сжатия (плюс многопоточный xlz4)
  • xlzma: уменьшено использование памяти при сжатии
  • xppmd: восстановлена многопоточная работа
  • 4x4, grzip: исправлены ошибки в вычислении требуемой памяти, ограничении потребления памяти и отображении прогресса операции
Примечания:
  • До релиза 0.70 мне предстоит исправить кучу ошибок. В этот раз я сосредоточился на проблемах в многопоточной упаковке, а также добавил LZ4 чтобы исследовать внутренние ограничения FreeArc для сверхбыстрого сжатия
Изменения:
  • -m#p/-m#j: определения перенесены в arc.ini
  • REP: исправлена ошибка, обнаруженная Paramon111 (крешился на файлах с определёнными размерами)
  • -scaX или -scXa: настроить ВСЕ домены на использование кодировки X
  • -sc: поддержка синтаксиса -scD=charset
  • -sc: строгая проверка синтаксиса опции
  • arc.groups: в группу $compressed добавлены видеофайлы
  • LZMA-x64: добавлен readme-rus.txt
  • Autoplay Media Studio: readme.txt со ссылкой на демо-проект интеграции
Изменения:
  • arc.ini: удалены устаревшие определения для exe2 и precomp
  • unarc.dll: изменена трактовка результата, возвращаемого из колбеков "overwrite?" и "password?"; пожалуйста, обновите ваш код, использующий unarc.dll
  • unarc.dll: полная английская и русская документация в файлах Addons\Unarc-DLL\readme*.txt
  • unarc.dll: исправлена ошибка, возникавшая при callback==NULL
  • SFX/unarc/dll: исправлены ошибки, иногда препятствовавшие распаковке зашифрованных архивов
  • External: исправлена ошибка – зависание после попытки выполнить несуществующий внешний упаковщик
Изменения:
  • Исправлена ошибка с использованием синонимов в -mc (в частности precomp, precompj, maxprecomp, maxprecompj, exe2, maxsrep)
  • Определение -mm/-mm+ упрощено – теперь они всегда эквивалентны -mm=max
  • unarc.dll: в readme-rus.txt добавлена информация о команде 'l'
  • Обратите внимание: режим сжатия -max (-m9p) реализует максимальное сжатие с precomp+srep+dispack, а -m9j делает то же самое плюс пережатие jpeg
Примечания:
  • Добавленные в последней альфе синонимы используются для реализации чекбоксов "Экспериментальных алгоритмов" следующим образом:
    Код:
    lzma:1gb: -mc:lzma/lzma:max:512mb
    exe2: -mc:exe/exe2
    srep: -mc:rep/maxsrep
    precomp: -mc$default,$obj:+precomp
    intense: -mc$default,$obj:+maxprecomp
    jpeg: -mc$default,$obj:+precompj
    intense+jpeg: -mc$default,$obj:+maxprecompj
Изменения сжатия:
  • arc.ini: удалено устаревшее определение для -m#p (теперь оно встроено в сам arc.exe)
  • -max/-m#p/-m#j получили новые определения с precomp+dispack+srep
  • Новые удобные синонимы методов сжатия: precomp, precompj, maxprecomp, maxprecompj, exe2, maxsrep
  • Ускорен -m1 на мультимедиа/сжатых файлах
  • DisPack: улучшен поиск кода x86 и как результат – степень сжатия
  • -s теперь эквивалентен "-s100k;" (было "-s20k;")
Прочие улучшения:
  • SFX/Installer: больше не сжимается UPX, поскольку антивирусы ужасно тормозили при сканировании больших SFX-архивов
  • АркИнфо/lt: более подробная инфа о словарях методов сжатия; Память упаковки/Память распаковки/Словарь для архивов .7z
  • -rr: при добавлении большой RR записи используется не больше памяти, чем задано в -lc
  • Значительно улучшен перевод: Portuguese Standard
  • GUI: в текстовые поля в диалогах Add/... теперь можно включать пробелы, заключая текст опции в кавычки, например:
    Код:
    " %Y-%m-%d"
    Date: " %Y-%m-%d"
Исправления ошибок:
  • LZMA-x64: не мог использовать больше 4 гб даже в 64-битной версии
  • unarc.exe/dll/sfx не могли расшифровывать метод Serpent (используемый в профилях шифрования Сильное/Максимальное)
  • GUI: при открытии диалога и изменении типа архива самопроизвольно отмечался чекбокс "Сжатие"
Изменения:
  • Опция -mc: позволяет изменить метод сжатия путем добавления/замены/удаления заданных алгоритмов
  • Страница сжатия: добавлена вкладка "Экспериментальные алгоритмы"
  • arc.ini: обновлен для совместимости с precomp042/srep3
  • Исполняемые файлы precomp 0.4.2 и srep 3.0 добавлены в каталог FreeArc\bin
    Новый синтаксис опции -mc (обратно-совместимый со старым):

    -mc[ГРУППЫ][:]ОПЕРАЦИЯ

    где ГРУППЫ может быть пустым или содержать список групп файлов, причем '$default' означает группу по умолчанию. Пример:
    • $obj
    • $default
    • $default,$obj

    Опциональный символ ':' является разделителем

    ОПЕРАЦИЯ может быть одной из следующих:
    • '-$group' или '$group-' означает "исключить $group при сжатии"
    • '-method' или 'method-' означает "исключить method при сжатии". RAR-совместимые команды, такие как -mca-, также поддерживаются
    • +method' или 'method+' означает " добавить method в начало каждой цепочки сжатия", например -mc+precomp042:c-
    • 'method1/method2' означает "заменить method1 на method2", например -mc:rep/srep:mem256mb

    ГРУППЫ могут быть использованы для ограничения ОПЕРАЦИИ определенными группами файлов, например -mc$default,$obj:+precomp042:c

    ----------------------------------------------------------

    Используя эти опции, FreeArc реализует чекбоксы "Экспериментальных алгоритмов" следующим образом:
    lzma:1gb: -mc:lzma/lzma:max:512mb
    exe2: -mc:exe/dispack070
    srep: -mc:rep/srep:mem256mb
    precomp: -mc$default,$obj:+precomp042:c-:t-j
    intense: -mc$default,$obj:+precomp042:c-:intense:t-j
    jpeg: -mc$default,$obj:+precomp042:c-
    intense+jpeg: -mc$default,$obj:+precomp042:c-:intense​
Улучшение скорости REP:
  • ускорен в 4 раза благодаря многопоточности и надежному хешированию предложенному Евгением Шелвиным
  • REP:c устанавливает размер хешируемых блоков (например, rep:256:c256 это более быстрая, но менее аккуратная замена rep:512)
  • REP: для rep:512..257/256..129/... значения по умолчанию следующие :c128/64/...
  • REP: по умолчанию hashsize = min(1/4,16/chunksize)*BlockSize
    Код:
    D:\>old_fazip rep:1g dll4g.dll nul
    100%: 4,531,060,447 -> 3,046,406,598: 67.23% Cpu 358 mb/s, real 327 mb/s
    D:\>new_fazip rep:1g:c256 dll4g.dll nul
    100%: 4,531,060,447 -> 3,063,642,637: 67.61% Cpu 482 mb/s, real 1299 mb/s
    
    D:\>old_fazip rep:1g:32 dll4g.dll nul
    100%: 4,531,060,447 -> 2,245,307,773: 49.55% Cpu 117 mb/s, real 113 mb/s
    D:\>new_fazip rep:1g:32:c16 dll4g.dll nul
    100%: 4,531,060,447 -> 2,271,868,087: 50.14% Cpu 182 mb/s, real 274 mb/s
Улучшения методов сжатия:
  • -m1: добавлен препроцессор REP (сжатие улучшилось на 10-20%, скорость осталась та же благодаря новому супер-быстрому движку REP)
  • -m1: удалена отдельная группа $exe, чтобы уменьшить кол-во перемещений головки диска при сжатии
  • -m2..m4: изменены настройки REP, используя возможности нового REP для улучшения скорости/сжатия
  • -m3t/mex3t: изменен таким образом, что сжатие идет дольше, но распаковка быстрее
    Код:
    D:\>old_arc a a -m1 MsOfficeBCJ.obj
    Compressed 1 file, 810,411,321 => 435,620,877 bytes. Ratio 53.7%
    Compression time: cpu 13.10 secs, real 1.76 secs. Speed 459,651 kB/s
    D:\>new_arc a a -m1 MsOfficeBCJ.obj
    Compressed 1 file, 810,411,321 => 369,825,442 bytes. Ratio 45.6%
    Compression time: cpu 12.68 secs, real 1.84 secs. Speed 441,616 kB/s
    
    D:\>old_arc a a -m2 MsOfficeBCJ.obj
    Compressed 1 file, 810,411,321 => 354,958,875 bytes. Ratio 43.7%
    Compression time: cpu 37.72 secs, real 5.41 secs. Speed 149,680 kB/s
    D:\>new_arc a a -m2 MsOfficeBCJ.obj
    Compressed 1 file, 810,411,321 => 353,083,639 bytes. Ratio 43.5%
    Compression time: cpu 36.54 secs, real 5.11 secs. Speed 158,553 kB/s
    
    D:\>old_arc a a -m3 MsOfficeBCJ.obj
    Compressed 1 file, 810,411,321 => 340,430,540 bytes. Ratio 42.0%
    Compression time: cpu 80.15 secs, real 12.00 secs. Speed 67,514 kB/s
    D:\>new_arc a a -m3 MsOfficeBCJ.obj
    Compressed 1 file, 810,411,321 => 338,976,484 bytes. Ratio 41.8%
    Compression time: cpu 78.91 secs, real 11.33 secs. Speed 71,530 kB/s
    
    D:\>old_arc a a -m4 MsOfficeBCJ.obj
    Compressed 1 file, 810,411,321 => 326,333,902 bytes. Ratio 40.2%
    Compression time: cpu 184.19 secs, real 24.19 secs. Speed 33,503 kB/s
    D:\>new_arc a a -m4 MsOfficeBCJ.obj
    Compressed 1 file, 810,411,321 => 324,126,352 bytes. Ratio 39.9%
    Compression time: cpu 182.58 secs, real 24.01 secs. Speed 33,748 kB/s
    
    D:\>old_arc a a -m3t -t enwik8
    Compressed 1 file, 100,000,000 => 25,840,442 bytes. Ratio 25.8%
    Compression time: cpu 9.02 secs, real 1.58 secs. Speed 63,488 kB/s
    Testing time: cpu 12.03 secs, real 2.14 secs. Speed 46,704 kB/s
    D:\>new_arc a a -m3t -t enwik8
    Compressed 1 file, 100,000,000 => 25,221,121 bytes. Ratio 25.2%
    Compression time: cpu 12.00 secs, real 2.18 secs. Speed 45,869 kB/s
    Testing time: cpu 8.42 secs, real 1.61 secs. Speed 61,993 kB/s
Остальные изменения:
  • CRC в arc/unarc/dll/sfx стал в 2 раза быстрее (500->1000 mb/s); для сравнения, CRC в facompress.dll имеет скорость 1600 mb/s
  • I/O: чтение файлов для сжатия блоками по 1мб (оптимизировано под Vista/Win7)
  • DICT: исправлен баг с ошибкой -6 в конце распаковки (появлялась при -m=bcj+dict -t)
  • i18n: НОВАЯ локализация: Португальский Стандартный от Nuno Rego!
Изменения:
  • Страница Сжатие: новые настройки; скорости перемерены на i7-2600
  • Descript.ion: добавлены описания для всех файлов в каталоге bin\
  • Исправлена ошибка в индикаторе прогресса (иногда он перескакивал назад)
  • Улучшены тултипы 1125, 1227, 1176: если вы поддерживаете одну из трансляций, пожалуйста, переведите их заново из arc.english.txt
Изменения:
  • i18n: добавлены возможность перевода для всех строк в GUI; улучшен тултип 1227
  • Поддержка UNC в имени архива (arc a \\pc\share\a.arc)
  • Диалог Добавить: закладки для конструирования методов сжатия/шифрования заменены на вызываемые диалоги
  • Диалог Добавить: если включить опцию "Отдельные архивы для каждого файла", то строка "Выходной архив" заменяется на "Выходной каталог"
  • Все диалоги: теперь галочки опций автоматически включаются, как только вы меняете содержимое опций
  • Проверка на новые версии: альфа-версии обнаруживают появление новых альф и предлагают открыть Download-Alpha.aspx
  • Опция --queue и галочка "Общая очередь операций для всех копий FreeArc" в диалогах Добавить/Извлечь/Настройки
  • Консольная версия: 7z.dll+FreeArcCodes.dll теперь включены в комплект поставки
  • Исправлено: каталог логфайла создаётся если его ещё не существует; если логфайл невозможно открыть, то регистрируется предупреждение и операция продолжается
  • Моя 7z.dll: избавились от зависимости от msvcr100.dll
  • unarc.dll: команда "l" также передаёт точные origsize/compsize
  • API: удалены MultiCompress()/... поскольку их функциональность теперь включена в Compress()/... – т.е. вы можете сжимать с методами типа "rep+exe+lzma"
Изменения:
  • GUI: запоминает тип архива в диалоге Сжатия
  • Комстрока: восстановлена работа опций -t?, которые не работали более года!
  • Добавлено "используйте -lc/-ld чтобы уменьшить требования к памяти" к сообщению "невозможно выделить память, необходимую для (рас)паковки"
  • Deflate(zip) упаковка: исправлено -mt1 и уменьшено потребление памяти
  • Исправлена ошибка в многопоточной распаковке, сделанная в августе
  • API: добавлена MultiCompress() в пару к MultiDecompress()
Примечания:
  • Первое изменение, будучи самым простым, наверно наиболее важно – теперь FreeArc можно спокойно использовать как zip или 7z архиватор. Просто выберите один раз нужный тип архива в диалоге и забудьте об этом.
  • В связи с этим, есть вопрос – может стоить поставить zip типом по умолчанию и/или предлагать пользователю при инсталляции программы выбрать между zip, 7z и arc?
Изменения:
  • GUI: удаление временных файлов даже с атрибутом R/O (например, файлов извлечённых из не-arc архивов для запуска)
  • Опция -tzip/-t7z делает .zip/.7z расширением архива по умолчанию
  • Новый FreeArc-LZMA-x64.exe, поддерживающий все опции внутреннего алгоритма LZMA (включая HT4 matchfinder) и может быть откомпилирован любым компилятором (gcc, msvc, icl, linux, 32/64-битным)
Примечания:
  • Это означает, что теперь вы можете заменить внутреннюю 32-битную реализацию LZMA внешней 64-битной и получить свободу от 2 ГБ-порога и ускорение некоторых режимов сжатия (по крайней мере, в теории это должно работать)
Сверху