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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » FreeArc (часть 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 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156

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

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Часть 1 | Часть 2 | Часть 3


Скачать последний релиз - FreeArc 0.666 от 20 мая 2010 г. Что нового: ускорение работы в 1.5-2 раза благодаря новой технологии многопоточного сжатия, распаковка архивов многих форматов используя технологии 7-zip, запуск файлов из архива, исправлены все проблемы интеграции с Explоrer (подробнее)
Текущая альфа версия: 0.67 - загрузка | список исправлений | блог


Подробное описание используемых алгоритмов
Почему он сжимает лучше и быстрее, чем 7-zip/rar...
Результаты тестов, подтверждающие его крутизну...
Почему для использования 2+ гб памяти желательно установить 64-битную версию Windows
Планы дальнейшего развития
Что подразумевается под "интеграцией с Explorer"
Старая FreeArc wiki (включая описание формата архива)
Логотип и иконки FreeArc - обсуждение того, как облагородить внешний вид программы


Сторонние оболочки для работы с FreeArc:
wArc - простая и понятная программа управления архивами (требует .NET Framework 2.0)
PeaZip - менеджер архивов с поддержкой большого количества форматов, для Windows и Linux


Родственные темы:
Inno Setup плюс внешние упаковщики - использование архивов FreeArc в инсталяторах
ISDone.dll - библиотека распаковки архивов в инсталяторах
REP & SREP
Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия - "а как сжать ещё лучше?"
FreeArc и Unix - для альтернативно одарённых
• репозиторий FreeArc 'Next на github.com
• тема FreeArc 'Next на форуме encode.su
• раздел FreeArc на форуме krinkels.org

 
Другие архиваторы:
WinRAR
7-zip
PowerArchiver
HaoZip
BandiZip


Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 11:36 23-11-2010 | Исправлено: Release, 10:58 24-04-2023
Profrager



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kalpak
Цитата:
а precomp оригинальном системные функции запускались напрямую с kernel32/msvcrt?  
 или так же с packJPG.dll, если нет, то как ты их перенаправил в dll без модификации precomp.exe ?
напрямую с kernel/msvcrt. Когда загружается моя подставная дллка, она правит ссылки на системные функции в основном ехешнике, и перенаправляет на свои. По идее подобным образом можно сделать универсальный cls  фильтр для любого пакера/анпакера, с единственным условием, что он не будет использовать fseek (или SetFilePointer). Или по крайней мере не перемещать указатель вне буфера cls фильтра (~несколько мегабайт). precomp отличается от обычных пакеров, т.к. он может патчить свое распакованное добро парой байт далеко за сотней мегабайт сзади.
 

Цитата:
я к чему все это, к тому что раз cls-precomp использует объекты синхронизации и packJPG подменный чтобы распаковывать "налету"  
 может как то можно их и упаковывать,
можно, конечно, но это надо расбираться и с сжимающей частью программы. Для меня эффективность упаковки по времени не интересна.
 

Цитата:
а CLS_DONE точно вызывается?  
 у меня что то не пишет нечего
CLS_DONE вызывается в самом конце, перед завершением процесса (по крайней мере в unarc.dll так). Попробуй MessageBox поставить вместо printf, авось покажется.

----------
переехал сюда

Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 18:38 03-10-2011 | Исправлено: Profrager, 18:46 03-10-2011
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kalpak
CLS_DONE вызывается только из UnloadDLL(), выполняемой перед выгрузкой unarc.dll. можно сделать иначе, просто пока не надо было
 
какие у тебя задачи?

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 18:57 03-10-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Profrager
Bulat_Ziganshin
да я просто пока на работе сидел хотел проверить эти вызовы.
а так я думал может как то можно сделать посредника внешних упаковщиков, но вот если он будет перемещать указатель то тут конечно труба, хотя такое наверное не часто встретишь
 
просто не нравится смотреть как выходной файл растет а ты должен сидеть и ждать окончания операции (а дома проц/хард медленные еще дольше ждать приходится)
 
а насчет CLS_DONE, dll не пользовался, только [un]arc.exe
 

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 19:55 03-10-2011
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
протестировал сейчас сжатие в zip:
 
Z:\vhd>Arc.exe -tzip a a.zip -t
Compressed 1 file, 98,420,528,640 => 47,215,067,186 bytes. Ratio 47.9%
Compression time: real 495.72 secs. Speed 198,540 kB/s
Testing time: real 823.18 secs. Speed 119,561 kB/s
 
т.е. упаковка работает быстрее распаковки

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 03:03 04-10-2011
snkreg

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin
Булат, а как на счет предварительного теста всех методов сжатия, который я описывал выше? Это совсем не актуально?

Всего записей: 586 | Зарегистр. 18-10-2008 | Отправлено: 15:11 04-10-2011
Bulat_Ziganshin

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

Цитата:
kalpak  
Слушай, а как думаешь, можно ли сделать тест всех вариантов? Ну прям к примеру сжимаешь 20Гб, ставишь на ночь - он у тебя проходится всеми возможными комбинациями, после каждой проходки архив удаляется, чтобы не засорять хард - потом выдается отчет - время, размер на выходе и выигрыш.  
Bulat_Ziganshin  
Булат, как ты на это смотришь?

 
а я тут причём? делай

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 15:18 04-10-2011
snkreg

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin
Ахаха, я же не кодер. Был бы программистом - сделал бы для себя. Я имею в виду - опционально встроить это в архиватор.

Всего записей: 586 | Зарегистр. 18-10-2008 | Отправлено: 15:20 04-10-2011
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
snkreg
а для чего это встраивать в архиватор? как это будет использоваться?

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 14:09 05-10-2011
snkreg

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin
Смотри, к примеру мне нужно сделать репак - и просчитать какой метод сжатия в FreeArc выгоднее всего. Соответственно я выбираю файлы для упаковки, ставлю опцию "Тест сжатия" и ухожу. В это время он пробегается по файлам всеми возможными комбинациями и записывает это в таблицу сравнения, после чего я делаю вывод и выбираю для себя оптимальный вариант.

Всего записей: 586 | Зарегистр. 18-10-2008 | Отправлено: 14:27 05-10-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
типа того есть в UPX ( в precomp вроде то же брут но на определенном потоке) кажется
но там то другая ситуация
там размер не большой файла
 
а твой репак долго делаться будет каждым из методов
проще сделать батник
 
хотя, тогда надо будет знать какие методы комбинировать и как

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 16:25 05-10-2011
snkreg

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kalpak
Ну да, вот я и думаю, что было бы удобно в FreeArc реализовать подобное.  Ну ничего, что долго, зато автоматизированно и в итоге оптимальный результат

Всего записей: 586 | Зарегистр. 18-10-2008 | Отправлено: 16:34 05-10-2011
ruduk

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

Цитата:
хотя, тогда надо будет знать какие методы комбинировать и как

Когда-то на форуме видел сообщение автора Ultra7z  и, по его словам, он хотел сначала написать пограмму типа UltraFA, но остановился на Ultra7z, т.к. ему было проще разобраться с опциями 7-zip, чем с FreeArc.

Всего записей: 123 | Зарегистр. 08-02-2009 | Отправлено: 18:25 05-10-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ruduk
ну так потому как в 7z только lzma,ppmd эффективны да и нету там возможности подкл. внешние архиваторы.
а тут очень гибкий архиватор
ну наверное кроме ppmd для текста и lzma для остального хватит, правда тут еще есть препроцессоры разные так что все равно сложная задача

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 19:39 05-10-2011
ruduk

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kalpak
У меня была идея чтобы (перед сжатием) анализировать какие у сжимаемых файлов расширения и, на основе этого анализа, составлять "свой" arc.groups, в котором были бы только расширения файлов, которые сжимаются, и методом перекидывания определенных расширений файлов между группами $text, $binary, $default, ...  каждый раз сжимать FreeArc'ом методом [-max] и с отключенной опцией "Авто-определение типов файлов".  
Сжимать сразу файлы всех расширений не нужно, сжимать сначала только  файлы какого-то одного расширения.  
Наименьший архив даст "правильный" arc.group -файл, в котором можно будет увидеть в какой группе были те или иные расширения файлов, что поможет выбрать наиболее эфективные цепочки методов.
Потом переходить к другому расширению... вроде того как работает Ultra7z.
Конечно никакого анализатора я не писал (ибо незнаю как), я просто сжимал пару раз одни и те же файлы, но расширения сам вписывал в разные группы. Выигрыш в размере архива получался в лучшем случае от 2 до 3 % меньше по сравнению с сжатием, когда опция "Авто-определение типов файлов" была включена. А в остальных случаях даже 20% увеличение размера.
Т.е. то, как сжимать файл, пускай выбирает сам FreeArc.

Всего записей: 123 | Зарегистр. 08-02-2009 | Отправлено: 00:10 06-10-2011
vasulpr

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin
Насколько я понял ФА определяет тип файлов по их расширению, но часто расширение файла не совпадает с его содержанием.
Но есть такая утилитка которая независимо от расширения правильно определяет тип файла, если ее интегрировать в ФА то можно просто получить халявный прирост сжатия.
 
Очень хотелось бы увидеть ее в ФА, хотя бы опционально. Что скажите?

Всего записей: 126 | Зарегистр. 27-03-2011 | Отправлено: 18:00 06-10-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vasulpr
ФА использует файле групп
а то что с расширением xxx имеет тип не подходящий для группы - это разве проблема архиватора
это хитрость и проблема пользователя, хотя я не знаю когда бы это расширение не совпадало с его содержимым
даже если .dat файл это фильм или не фильм то для него используется lzma
откуда такой пессимизм ?можно примеры, которые часто встречаются, потому как для редких случаев это не реентабельно
 
тем более можно самому предложить свой файл групп или изменить существующий
а ФА делает анализ но только кажется на проверку мультимедия
 
или же не надеется на архиватор и самому прописать метод сжатия

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 19:44 06-10-2011 | Исправлено: kalpak, 19:44 06-10-2011
no404error

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vasulpr
Булат знает что такое TrID - http://forum.compression.ru/viewtopic.php?p=3799#p3799

Всего записей: 80 | Зарегистр. 03-07-2010 | Отправлено: 23:21 07-10-2011
GORA2



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

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

К сожалению она не может идентифицировать даже FA SFX архивы, ибо нет сигнатур для них в базе.

Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 10:39 08-10-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а нельзя сделать так чтобы при использовании внешних упаковщиков
можно было указывать уже готовый файл с данными
т.е. например precomp создает файл file.pcf
а мы его просто используем в цепочке методов типа такого:
arc a -mprecomp:slow+lzma:fast:128:64mb:mc100 -pfl1:file.pcf
где 1 - это порядковый номер метода сжатия в цепочке алгоритмов
и тогда можно будет ен ждать каждый раз пока например прекомп или среп сделают свою работу
а просто хранить эти файлы  
чтобы например потом проверить на них другой метод сжатия (после внешних упаковщиков)
 
тем более совместно с PrecompInside и SrepInside  будет выигрыш в распаковке таких архивов

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 14:12 08-10-2011
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
сделал сервер для загрузки файлов напрямую на мой комп: http://freearc.no-ip.org:8080/

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 00:17 09-10-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru