Изменения:
LZMA:
- -m5 на бинарных данных теперь работает значительно быстрее за счёт использования всех ядер CPU
- -m2..-m4: сжатие на бинарных данных значительно улучшено (исправлена ошибка, появившаяся в версии от 22.08.2012)
- -m1..-m5 и все -mex мгновенно обрабатывают уже сжатые данные (см. изменения в 4x4 ниже)
- Поддерживается выделение памяти Большими Страницами (4МБ), что увеличивает скорость на 10% (но, к сожалению, БС обычно доступны только сразу после перезагрузки ОС)
Tornado:
- HT4 теперь поддерживает словари размером до 2 ГБ
- Увеличена степень сжатия со словарём в 1 ГБ
- Предвыборка памяти и мульти-сканирование в BT4/HT4 -> увеличение скорости до 20%
- Для HT4 параметр MaxChain mc) по умолчанию теперь равен FastBytes/2 fb/2)
4x4:
- Новые методы сжатия с оптимальным парсингом tor:11..tor:16 и параметры :x :s :fb
- Поддержка значений :l, не являющихся степенью 2, в режимах tor:5..tor:16
- Cм. сообщение о выходе Tornado 0.6 для доп. информации о новых возможностях
- Быстрая обработка уже сжатых данных - они просто копируются в выходной файл со скоростью 1 ГБ/с
- Для этого каждый блок данных сначала проверяется на order-0 сжатие и если его коэффициент >99% - данные передаются без упаковки
- Настройка: параметр :r0 означает "не проверять и всегда пытаться сжать данные", :r99.5 означает "пропускать упаковку если коэффициент order-0 сжатия >99.5%"
Изменения:
Комстрока:
- Новые локализации: Болгарский, Финский и Малайский, в общей сложности 22 языка
- Добавлен Win7-индикатор прогресса в таскбаре в Arc.exe, FreeArc.exe и GUI SFX модулях
Сжатие:
- Поддержка множественных конфиг-файлов, по умолчанию arc*.ini (файлы с теми же именами в более приоритетных каталогах перекрывают файлы из менее приоритетных каталогов)
- В листфайлах поддерживаются rar-совместимые комментарии - строки начинающиеся с "//"
- Удаляются элементы пути ".." и "." из имён файлов в архиве (при упаковке, распаковке и при распаковке в unarc/sfx/dll)
- Исправлена ошибка при обработке опций типа -s1e, добавлено сообщение об ошибке при некорректно заданной опции -s
Внешний вид:
- Метод lz4b переименован в lz4, так что это будет окончательной реализацией алгоритма LZ4
- REP с большими :l/:c стал до 2 раз быстрее (для хеширования используются все ядра CPU)
- -m4b -mt2 теперь основан на lzma (раньше - xlzma)
- LZMA-x64/LZMA-x86 и facompress*.dll откомпилированы в Visual C++ 2013
- Степень сжатия вычисляется с 4 цифрами и округляется: "12.34%"; скорости - в mB/s
- После выполнения команды "freearc a -t" окно программы не закрывается автоматически
- MultiArc: плагин к Total Commander теперь везде использует ANSI-кодировку имён файлов
Изменения:
Примечания:
- Delta: исправлена ошибка, также доступно как delta15.zip
- Я предполагаю, что это будет последняя доработка Delta 1.5 алгоритма, направленная на оптимизацию скорости. Delta 1.5 обрабатывает около 200 МБ/с на i7-2600 (1 ГБ/с при использовании всех ядер), примерно в 1,5 раза быстрее, чем версия 1.0
- Сегодня я начал работу над Delta 2.0, с намерением улучшить степень сжатия
Изменения:
- Delta: улучшены скорость и сжатие, также доступно как delta15.zip
- Исправлено: вылетало при попытке посмотреть АркИнфо на архиве, использующем неопределённый [в arc.ini внешний] метод
- Исправлена ошибка в AES-NI: не работало в отсутствии facompress.dll
- i18n: изменены тултипы 1543, 1544. Если вы поддерживаете один из переводов, пожалуйста, поправьте его!
Изменения:
- LZ4: импортирована ревизия от 5-го ноября; lz4:hc:b256k:90% - использовать HC matchfinder, блоки 256кб, оставлять несжатыми блоки с коэф. сжатия >90%
- LZMA: в xlzma сохраняет однажды выделенные буфера (для предотвращения фрагментации памяти при сжатии многогигабайтных данных)
- -m1/-m2/-m3: изменены настройки для улучшения соотношения скорость/сжатие
- Tornado: исправлена ошибка в предыдущей альфе, иногда приводившая к созданию нераспаковываемых архивов в режимах -m1/-m2
Изменения:
- GUI: опция "Сделать EXE" для архивов .7z в диалоге сжатия
- 7z.dll: опция -sfx и команда "s" для архивов .7z (SFX-модуль по умолчанию – 7z.sfx)
- 7z.dll: при создании нового архива его тип по умолчанию определяется его расширением. Наконец-то, и команда "a a.zip", и команда "a a -tzip" работают как "a a.zip -tzip"
- Исправлена проблема в последней альфе, из-за которой не работало сжатие в GUI (это было вызвано ошибкой в обработке опции -t=arc)
Изменения:
Интеграция с Explorer – исправлены ошибки в новой реализации:
- AES-NI: 1ГБ/сек – скорость шифрования (методом по умолчанию и в целом для -ae=aes-*/ctr/r:0) на современных процессорах
- REP: исправлена ошибка, приводившая к зависанию на файлах размером BLOCKSIZE*N+k, где 0<=k<L
- GUI: показывает английский тултип/перевод, если текущая локализация не имеет своего варианта
- 7z.dll: расширение архива по умолчанию теперь определяется опцией -t (например, команда "a a -tbzip2" эквивалентна "a a.bz2 -tbzip2")
- LZ4: переименован метод "lz4a"->"lz4b" (формат сжатых данных несовместим со старой версией)
- Из лицензии программы убрано упоминание GPL
Глобальная очередь операций – закончена реализация:
- Больше не показывает каскадное меню, если оно пусто
- Корректное меню, если выбраны каталоги
- Если выбран ровно один архив – показывает команды для сжатия его в другие форматы
- Для архивных файлов меню всегда выводится (так что галочка включает только ассоциирование с FreeArc и иконку)
- Обновлён список расширений архивов/контейнеров (взят из 7z.dll плюс apk/zipx и кое-что по мелочи)
Улучшения в вычислении/ограничении потребления памяти:
- Теперь эта настройка из freearc.ini также используется для команд FreeArc.exe, исполняемых из комстроки (включая запускаемые из меню Explorer)
- Изменения этой настройки в диалогах Добавить/Извлечь больше не запоминаются в freearc.ini (в отличии от изменений, сделанных в диалоге Настройки)
- GUI: выводит "Ждём пока другая копия FreeArc завершит операцию..." и не начинает отсчёт времени, пока идёт ожидание в очереди
Исправлены ошибки в использовании временного каталога:
- Более точное вычислении/ограничении потребления памяти при использовании внешних компрессоров-фильтров (с stdin на stdout)
- Unarc: ограничивает потребление памяти в grzip/4x4 по такому же алгоритму как Arc.exe
- Unarc: теперь опция -ld по умолчанию трактует свой параметр как мегабайты
- GUI: больше не предлагает удалить временные файлы при открытии вложенного архива (распакованного во временный каталог) – в частности это исправляет проблему при открытии архивов .tar.gz
- GUI: временный каталог, установленный в arc.ini (опцией -w), отныне может быть использован для распаковки содержимого архива в операции "Открыть из архива"
- GUI: логфайл/врем.каталог, установленные в freearc.ini, отныне имеет больший приоритет, чем аналогичные настройки из arc.ini
Изменения:
- Интеграция с Explorer: настройка расширений архивов, ассоциируемых с FreeArc
- Сжатие: более быстрые методы для несжимаемых данных (группа $compressed), copy=storing (7z-совместимое имя метода)
- GUI: завершён редизайн диалога прогресса, область сообщений скрыта до появления ошибок/предупреждений
- UI: показывает xx.x% вместо xx% в индикаторе прогресса только при обработке > 1 ГБ (было: >100 МБ)
- Исправлена ошибка: показывалось "выполнено 0%" по завершении операции над архивом, содержащим 0 байт данных
Управление памятью для сжатия:
теперь FreeArc знает, что 4x4/grzip может использовать больше или меньше памяти, в зависимости от числа потоков, без потери совместимости с уже сжатыми данными. Это усложняет управление памятью:Остальные улучшения:
- При сжатии, информация "Память для упаковки 747mb, распаковки 96mb" теперь сообщает, сколько памяти использовано именно сейчас для упаковки и минимальный объем памяти, который потребуется в дальнейшем для распаковки
- Диалог сжатия показывает те же объемы для стандартных методов сжатия
- АркИнфо/lt команды показывают минимальный объём памяти, необходимый для упаковки и распаковки выбранного архива
- При сжатии, -lc ограничивает использование памяти, сначала добавляя "tempfile" между методами, затем уменьшая параметры :t:i в 4x4/grzip и, в последнюю очередь, снижая объем памяти, используемый каждым потоком
- При сжатии, -ld ограничивает минимальный объем памяти, который потребуется позже для распаковки (т.е. с "tempfile" между методами и настройками :t1:i0 в 4x4/grzip)
- При распаковке, -ld ограничивает использование памяти, сначала добавляя "tempfile" между методами, затем уменьшая параметры :t:i в 4x4/grzip; в частности, вы можете использовать -ld1, чтобы использовать минимально возможный объём памяти
- Снижено использование памяти для xlzma распаковки на 9%; ppmd упаковки и распаковки на 14 МБ для каждого потока
- LZMA: -di/lt показывают реальный размер хеша в :h (он может быть меньше, чем указано в команде, потому что каждый блок mc) должен содержать 2^n значений)
- Исправлено множество ошибок и сделано много улучшений в управлении памятью для сжатия, теперь все показанные объемы памяти должны отражать реальное использование памяти
Осталось доделать:
- Новая схема диалога прогресса, разработанная sabio и ruduk
- Заглавие диалога прогресса теперь "xx% hh:mm:ss | Команда ..." вместо "{xx% hh:mm:ss} Команда ..."
- i18n: полный перевод на Португальский Стандартный от Nuno Rego!
- i18n: укорочены сообщения 0018, 0086, 0433, 0435, 0300, 0437, 0438, 0439, 0440, 0441, 0382, 0383, 0384, 0301, 0302. Если вы поддерживаете перевод, пожалуйста, попробуйте сделать то же самое
- 7z.dll: более точное вычисление dict/mem для bcj2-сжатых архивов в АркИнфо/lt
- Unarc/DLL/large SFX: добавлена распаковка LZ4
- Unarc.dll: добавлен C# пример использования, разработанный Mohammad Khalifa
- lzma:fastest сделан набором действительно самых быстрых настроек
- Небольшие улучшения в диалоге прогресса
- Управление памятью в Tornado и Unarc
Изменения:
- Исправлена глупая ошибка в последней альфе, приводившая при распаковке к вылету с сообщениями "ошибка чтения" или "exhaustive pattern"