FAZip 0.3 это пофайловый упаковщик (аналогично gzip/bzip2), поддерживающий все алгоритмы сжатия FreeArc, включая CLS dll-ки, 4x4 и цепочки методов (например rep:512m+delta+4x4:lzma). Однако, у него нет развитого набора опций и сохранения контрольных сумм в сжатом файле, так что пока я не могу рекомендовать использовать его как замену вышеупомянутым программам.
FAZip может быть интересен для бенчмаркинга и поиска ошибок в алгоритмах сжатия FreeArc, и как внешний упаковщик, заменяющий встроенные в FreeArc алгоритмы. Включенный в поставку файл arc-fazip.ini показывает как использовать FAZip чтобы полностью заменить встроенные алгоритмы LZMA и REP, сохраняя полную совместимость по данным (т.е. данные, сжатые FAZip, будут распаковываться встроенными алгоритмами, и наоборот).
FAZip заменяет FreeArc-LZMA-x64.exe, Delta.exe и другие упаковщики, откомпилированные из библиотеки сжатия FreeArc.
Что новенького:Windows: 32-битный exe и facompress*.dll откомпилированы ICL 2011
Windows: 64-битный exe откомпилирован MSVC 2013
Linux: 32/64-битные динамически/статически-слинкованные программы откомпилированы GCC 4.6.3 под Ubuntu 12.04 (отсутствует поддержка CLS)
работает с чистым потоком сжатых данных при использовании синтаксиса "compress:метод" и "decompress:метод" (используется в arc-fazip.ini)
автоматически использует все ядра ЦПУ, но не уменьшает отывчивость системы
отображает зелёненький индикатор прогресса в таскбаре Win7
по умолчанию: использует большие страницы памяти (2МБ/4МБ) если они доступны; -slp-: никогда их не использовать; -slp+: использовать только их, при недоступности/нехватке выходить с ошибкой (ага, для бенчмарков)
опция -i0 отключает вывод программы (хотя сообщения об ошибках и ^Break всё же печатаются)
обновляет индикатор прогресса не чаще раза в 0.2 секунды (иначе на это может уходить слишком много времени)
печатает "\n" перед выходом и выдаёт расшифровки сообщений об ошибке вместо их цифровых кодов
удаляет частично созданный выходной файл при выходе по Ctrl-Break или ошибке
LZMA:словарь до 2 ГБ в BT4, до 4000 МБ в HT4/HC4
улучшено сжатие со словарём в 1 ГБ
предвыборка памяти в BT4/HT4 - до 20% быстрее
по умолчанию MaxChain (:mc) в HT4 теперь равен FastBytes/2 (:fb/2)
Другие алгоритмы:FAZip поддерживает все алгоритмы FreeArc, включая "tempfile" и cls-*.dll, за исключением только внешних алгоритмов, определяемых в arc.ini
64-битные версии алгоритмов ppmd/grzip/tta на самом деле пока не работают
REP: стал до 2 раз быстрее при больших :l/:c (потому что для хеширования теперь используются все ядра ЦПУ)
Delta: стало в 1.7 раз быстрее
Планы на будущие версии FAZip, в порядке приоритета:32/64-битные версии, откомпилированные MSVC 2010/2012/2013, ICL 2011/2013/2014 и GCC 4.8
подробное описание использования и параметров каждого алгоритма сжатия
полноценный формат сжатых файлов - с идентификатором формата и контрольной суммой
64-битные версии ppmd/grzip/tta
значительное ускорение HT4/BT4 (хотя при этом мы упрёмся в другую часть LZMA - Оптимальный Парсер)
упереть драйвер командной строки из bzip2 или tornado - где хуже лежит
64-битный MemSize (lzma:h4g)
не выводить сообщений об ошибках при -i0?
FAZip 0.3 is a single-file compression utility (like gzip/bzip2), that supports all
the FreeArc compression algorithms, including CLS dlls, 4x4, and method chaining
(like rep:512m+delta+4x4:lzma). It lacks feature-rich command line and data checksums,
though, so i can't yet recommend to use it as general-purpose compressor.
FAZip may be useful for benchmarking and bug-hunting FreeArc compression algorithms,
and as external compressor replacing built-in FreeArc methods. The provided arc-fazip.ini
demonstrates how to use FAZip to completely replace built-in LZMA and REP algorithms
while retaining full data format compatiblity (i.e data compressed by FAZip may be extracted
by built-in methods and vice versa).
FAZip replaces FreeArc-LZMA-x64.exe, Delta.exe and other standalone compression tools
compiled from the FreeArc library.
What's new:Windows: 32-bit executable and facompress*.dll compiled by ICL 2011
Windows: 64-bit executable compiled by MSVC 2013
Linux: 32/64-bit dynamic/static-linked executables produced by GCC 4.6.3 on Ubuntu 12.04 (no CLS support)
raw compressed stream produced by "compress:method" and extracted by "decompress:method" syntax (employed by arc-fazip.ini)
automatically employs all cpu cores, while keeping the computer responsive
Win7 taskbar progress indicator (the green bar)
default: use Large Memory Pages (2MB/4MB) if possible; -slp-: never use LP; -slp+: use only LP, abort if there aren't enough LP available (just for benchmarking)
-i0 option disables program output (although error/^Break messages are still displayed)
updates progress indicator only once per 0.2 seconds (otherwise it may need too much time)
prints "\n" before exiting and shows error descriptions instead of numeric codes
removes unfinished outfile on Ctrl-Break or error
LZMA:dictionary up to 2 gb in BT4, up to 4000 mb in HT4/HC4
improved compression with 1 GB dictionary
prefetching in BT4/HT4 matchfinders - up to 20% faster
default MaxChain (:mc) for HT4 now is FastBytes/2 (:fb/2)
Other compressors:FAZip supports all FreeArc algorithms, including "tempfile" and cls-*.dll, except only of external compressors defined in arc*.ini
64-bit versions of ppmd/grzip/tta don't really work yet
REP: made up to 2x faster with large :l/:c (since now it uses all CPU cores for hashing)
Delta: made 1.7x faster
Plans for future FAZip versions, in order of priority:32/64-bit executables compiled by MSVC 2010/2012/2013, ICL 2011/2013/2014 and GCC 4.8
document usage and parameters for all compression algorithms
compressed file format with fileid and checksum
64-bit versions of ppmd/grzip/tta
much faster HT4/BT4 matchfinders (so that LZMA speed will be limited only by the Optimal Parser)
steal cmdline processing from bzip2 or tornado
64-bit MemSize (lzma:h4g)
no error messages on -i0?