Ru-Board.club
← Вернуться в раздел «Программы»

» FreeArc (часть 4)

Автор: andhunt
Дата сообщения: 25.02.2011 00:46

Цитата:
Q: Возможно ли в arc реализовать запуск файла из архива после распаковки этого архива?

A: freearc-installer.sfx извлекает архив во временный каталог, запускает setup.exe и после его выполнения стирает все временные файлы. freearc-installer-nodelete.sfx делает то же самое кроме стирания


1. скажите где выбрать такие параметры, не смог найти их? freearc-installer.sf и freearc-installer-nodelete.sfx

2. получается мне нужно переименовать свои файл в setup.exe , чтобы он потом сам автоматически запустился?
Автор: vishyakov
Дата сообщения: 22.09.2011 21:24
Спасибо, займусь. Даже мануал напишу :)

А пока у меня еще предложение. Предлагаю встроить препроцессор ZRLE, удаляющий последовательности нулей. Конкретно:

Алгоритм имеет параметр N.
Пусть встретилась последовательности нулей длинной k штук. Если k<N, то оставляем её как есть. Иначе заменяем её на k нулей плюс один байт равный k-N.

Думаете, RLE бесполезен? А вот и нет.
Например, моя папка C:\windows сжимается таким образом на 4%, в абсолютном исчислении это составило ~1 Гб.
На этих же данных я провёл испытания, взяв N=5, и скармливая выход freearc'у с опциями от -m1 до -m9.
Результат: сжатие улучшилось на 0.6-1.0 процентов.
Мало? Это больше, чем разница между -m8 и -m9. И при этом, как вы понимаете, бесплатно в плане потребляемых ресурсов.

А как изменяется время сжатия данных после их предобработки ZRLE? Трудно оценить, что будет в реальных условиях, но в идеальных, когда данные находятся целиком в системном кэше, время уменьшается на те самые 4%.

Причем в моём случае ZRLE находился в заведомо невыгодном положении - вероятно он сбивал с толку анализатор и exe-процессор.

Что скажете?
Автор: shrmn
Дата сообщения: 29.05.2012 19:32
QSQ
Нет, совсем не лень. Да и залить я и сам бы смог. Все, что ты делаешь- по русски называется хамство. Мне плохо- делайте все ради меня, любимого. Успокойся. Тебе уже дали совет, ну что тебе не нравится? Нет, родной, некрасиво так...
Автор: Bulat_Ziganshin
Дата сообщения: 25.02.2011 10:28
никаких параметров нет. просто цепляете эти модули вместо обычных и будет вам запущен setup.exe. если нужно что-то большее - то берёте модуль для innosetup и кустомизируете его

ruduk
не буду я ничего комментировать пока ты не будешь способен читать исходники на c++


Цитата:
ссылка на исходники SREP не работает

какая ссылка?
Автор: QSQ
Дата сообщения: 29.05.2012 19:47
shrmn тогда я пожалуюсь на тебя. ты создаёшь неудобство пользователям.
Автор: Profrager
Дата сообщения: 23.09.2011 21:09

Цитата:
Пусть встретилась последовательности нулей длинной k штук. Если k<N, то оставляем её как есть. Иначе заменяем её на k нулей плюс один байт равный k-N.

во-первых ты не так описал алгоритм, а во-вторых имхо ты накосячил в своей реализации его) Т.к. lzma (+ rep, входящий в алгоритмы фриарка) гораздо эффективней справятся с любыми последовательностями одинаковых байт, а zrle только добавит лишнюю избыточность. Ты делал анпакер своего ZRLE?
Автор: egor23
Дата сообщения: 25.02.2011 10:44
ruduk

Цитата:
(The requested URL /freearc/trunk/Compression/REP/srep.cpp was not found on this server)

изменилась
http://svn.freearc.org/freearc/trunk/Compression/SREP/srep.cpp
Автор: Bulat_Ziganshin
Дата сообщения: 29.05.2012 20:01
я поправил
Автор: Bulat_Ziganshin
Дата сообщения: 25.02.2011 10:46

Цитата:
(The requested URL /freearc/trunk/Compression/REP/srep.cpp was not found on this server)

я его переместил в http://svn.freearc.org/freearc/trunk/Compression/SREP/srep.cpp

ссылку на сайте поправил, ссылку в readme - теперь уже в след. версии. где-то ещё?

спасибо
Автор: snkreg
Дата сообщения: 23.09.2011 22:31

Цитата:
lzma (+ rep, входящий в алгоритмы фриарка) гораздо эффективней справятся с любыми последовательностями одинаковых байт

Полностью поддерживаю, а когда Булат встроит SREP - мне кажется степень сжатия улучшится в разы.
vishyakov
Опиши детальнее, если есть наработки - выложи. Пока не могу судить и делать выводы, ибо не вижу + по сравнению в имеющимися алко во FA
Автор: QSQ
Дата сообщения: 29.05.2012 20:48
Bulat_Ziganshin спасибо
Автор: andhunt
Дата сообщения: 25.02.2011 11:05

Цитата:
никаких параметров нет. просто цепляете эти модули вместо обычных и будет вам запущен setup.exe. если нужно что-то большее - то берёте модуль для innosetup и кустомизируете его


объясните плиз поэтапно как это сделать?
скачиваю FreeArc 0.666, дальше что?
Автор: kalpak
Дата сообщения: 24.09.2011 10:01
snkreg
я не думаю что в разы
в различных ММ-файлах или еще где-то может даст хороший выигрыш
иногда помогает, а иногда даже ухудшает ситуацию (хотя больше чем на 10% не должен вырасти размер)
вот вчера я сжимал например папку с 50-60 файлами PDF размером общим в 700МБ (все сформированы из одного отчета разные данные только отображены)

precomp+srep+rep+lzma оказался почти такой же как
precomp+rep+lzma

единственное не запомнил сколько время ушло
Автор: Bulat_Ziganshin
Дата сообщения: 01.06.2012 19:07

Цитата:
Зачем в новой альфе приписывать арку стандартные параметры для прекомпа? Пиши -mprecomp, а оно его в 042 переименовывает и само добавляет парамы. Теперь при распаковке через анарк длл пишет что метод не поддерживается.


мне кажется я понял, в чём проблема. до сих пор можно было взять freearc любой версии, кинуть к нему свой личный arc.ini, и быть уверенным что получишь один и тот же результат независимо от версии freearc. внутренние определения менялись, но они не затрагивали популярные названия методов сжатия - т.е. мог появиться какой-нибудь новый xlzma, но никто не трогал тот же precomp

в этой версии я нарушил этот принцип, внеся определение precomp внутрь arc.exe, что заставляет переделывать конфиги и вообще "сбивает с ритма". соответственно, если я правильно всё понял, то достаточно перенести определение precomp* в стандартный arc.ini, а там уже дело пользователя - либо он использует стандартный файл и получает плюшки в виде поддержки precomp в GUI, либо использует свой arc.ini и все мои нововведения ему побоку

итак, я перенесу следующие строки из *arc.exe в arc.ini:

Код: , ";Compression modes involving external precomp+srep"
, "#p = maxprecomp +exe2+maxsrep+#xb / $text=#t / $wav = #$wav / $bmp = #$bmp"
, "#j = maxprecompj+exe2+maxsrep+#xb / $text=#t / $wav = #$wav / $bmp = #$bmp"
, ""
, "precompj = precomp042:c-"
, "precomp = precompj:t-j"
, "maxprecompj = precompj:intense"
, "maxprecomp = precomp:intense"
, "exe2 = dispack070"
, "maxsrep = srep:m3f:mem256mb"
Автор: Bulat_Ziganshin
Дата сообщения: 25.02.2011 11:33
SREP 2.94 alpha:

* compression made about 20% faster
* -a4 now is the default, memory usage is the same as with -a8 in 2.93
* "-nommap" is printed when this option is active


Добавлено:

Цитата:
объясните плиз поэтапно как это сделать?

нет, спасибо. может кто другой тебе поможет

egor23
1. улучшения в -m3 пока не удалось реализовать. по большому счёту, если тебе не хватает памяти для кеширования всех необходимых частей файла, то остаётся только стиснуть зубы и ждать либо использовать -m1. собственно, улучшения в -m3 лишь приблизят ситуацию к -m2, так что если у тебя и он тормозит...

2. в моих тестах оптимальные результаты (в 2.94) даёт либо -a4, либо -a8, -a16 почему-то уже медленней - разумеется если хватает памяти. если начинается трешинг, то a1/a2 может быть оптимальным поскольку оставляет больше памяти для кеширования

3. потетстируй с -m1/2/3, с и без -nommap. особенно меня интересует окончательная разница в сжатии (после lzma) результатов -m1 vs -m3
Автор: snkreg
Дата сообщения: 24.09.2011 10:10
kalpak
Слушай, а как думаешь, можно ли сделать тест всех вариантов? Ну прям к примеру сжимаешь 20Гб, ставишь на ночь - он у тебя проходится всеми возможными комбинациями, после каждой проходки архив удаляется, чтобы не засорять хард - потом выдается отчет - время, размер на выходе и выигрыш.
Bulat_Ziganshin
Булат, как ты на это смотришь?
Автор: slech
Дата сообщения: 25.02.2011 16:11
Bulat_Ziganshin

Цитата:
уплавнялка фильмов, аналог 100 Гц технологии в тв

Булат, нужны отображения иконок в файл-менеджере и атрибуты файлов.
перечисляю 50$ - так ?
Автор: kalpak
Дата сообщения: 24.09.2011 10:31
snkreg
ты хочешь смерти моего винта? ))конечно можно
берешь арк пишешь arc a -mvariant1 archive files ; -mvariant2 archive files ;... >>output.txt
и потом мучайся разобрать его и придать вид таблицы
(была у меня такая таблица, но я забыл ее сохранить нормально, правда там были только встроенные алгоритмы, потому как precomp/srep на том файле нечего не давали)
но тут вопрос а что это за данные
Автор арка я думаю много разных тестов делает (ему же надо было определять алгоритмы для -m1..m9)
Автор: Bulat_Ziganshin
Дата сообщения: 25.02.2011 17:18
о влиянии mmap. первый тест, на небольшом файле (т.е. целиком влезающем в кеш):

410 mb, -m1 -l512 -c512 -a4. Cpu 57.892 mb/sec, real 57.397 mb/sec
410 mb, -m1 -l512 -c512 -a4 -nommap. Cpu 57.780 mb/sec, real 57.208 mb/sec
202 mb, -m2 -l512 -c512 -a4. Cpu 59.331 mb/sec, real 58.857 mb/sec
202 mb, -m2 -l512 -c512 -a4 -nommap. Cpu 58.222 mb/sec, real 56.708 mb/sec
372 mb, -m3 -l512 -c256 -a4. Cpu 49.165 mb/sec, real 48.620 mb/sec
372 mb, -m3 -l512 -c256 -a4 -nommap. Cpu 46.588 mb/sec, real 40.100 mb/sec

в -m1 mmap не используется, потому и результаты неизменны. -m2 выигрывает от него несколько процентов, -m3, производящий 13 миллионов сравнений матчей (по сравнению с 500 тыщами в -m2) получает от mmap значительный выигрыш

Добавлено:

Цитата:
Булат, нужны отображения иконок в файл-менеджере и атрибуты файлов.
перечисляю 50$ - так ?

я бы сам перечислил первое сделать очень сложно. второе - что именно отображать?
Автор: vasulpr
Дата сообщения: 03.06.2012 18:30
За что отвечают параметры lc8, lp4, pb4 в lzma?
Автор: snkreg
Дата сообщения: 24.09.2011 18:24
kalpak
Я же говорю, чтобы винт не умер - каждый архив сохранять в ТЕМР и удалять после сжатия. а на выходе нормальная отформатированная табличка. просмотрел, сделал выводы, ккой метод для тебя лучше - и уже заюзал его.
Автор: andhunt
Дата сообщения: 25.02.2011 17:37

Цитата:
Q: Возможно ли в arc реализовать запуск файла из архива после распаковки этого архива?

A: freearc-installer.sfx извлекает архив во временный каталог, запускает setup.exe и после его выполнения стирает все временные файлы. freearc-installer-nodelete.sfx делает то же самое кроме стирания


откуда взять эти модули freearc-installer.sfx и freearc-installer-nodelete.sfx
где их скачать или где они лежат?
Автор: Edison007007
Дата сообщения: 03.06.2012 21:22

Цитата:
lc

set number of literal context bits - [0, 8], default: 3.
Sometimes lc=4 gives gain for big files.

Цитата:
lp

set number of literal pos bits - [0, 4], default: 0
lp switch is intended for periodical data when period is
equal 2^N. For example, for 32-bit (4 bytes)
periodical data you can use lp=2. Often it's better to set lc0,
if you change lp switch.

Цитата:
pb

set number of pos bits - [0, 4], default: 2
pb switch is intended for periodical data
when period is equal 2^N.
Автор: slech
Дата сообщения: 25.02.2011 17:43




1. было бы хорошо видеть запакованный размер файла, атрибуты, скрытый, системный и т.д.
2. было бы хорошо видеть тип файла - как в WinRar.
3. очень удобная штука в 7zip - show grid lines.
4. выделение файлов мышью в файл менеджере архиватора
5. мега фича WinRar - просмотрщик фалов.
6. в адресной строке видеть размер - правда незнаю лучше чего, архива или размер распакованного.
7. может иконку кнопки Add заменить на основную FA ? по аналогии с WinRar.
Автор: Profrager
Дата сообщения: 24.09.2011 18:38

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

ночи явно не хватит) допуская шаг где то 5% каждого параметра от его максимального значения думаю пару недель пройдет пока все это завершится
Автор: QSQ
Дата сообщения: 05.06.2012 01:32
исходник: 2 425 942 190
arc 2 074 395 942
7zip 2 072 843 501
всё в режиме ultra
файлы из video_ts

на обрабтку 1 пачки файлов 3 гб уходит около часа. т.о. чтобы сжать на 15% сборник из 26 серий, надо будет потратить дольше суток. при этом процессор работает на 100% и греется до 75град (прескот).
Автор: Registered User
Дата сообщения: 25.02.2011 18:15

Цитата:
откуда взять эти модули freearc-installer.sfx и freearc-installer-nodelete.sfx
где их скачать или где они лежат?

лежат в том же каталоге, что и arc.exe
Автор: vishyakov
Дата сообщения: 24.09.2011 19:31

Цитата:
имхо ты накосячил в своей реализации его...ты делал анпакер своего ZRLE?

За него я спокоен, он очень хорошо протестирован и отработал в бою всё лето.


Цитата:
ты не так описал алгоритм

А как надо?

Цитата:
rep, входящий в алгоритмы фриарка

REP детектит только достаточно длинные последовательности (если не ошибаюсь, от 32 байт; такие zero runs действительно попадаются не часто), причём на каждую ссылку тратит 12 байт.


Цитата:
lzma... гораздо эффективней справятся с любыми последовательностями одинаковых байт


Вас послушать, так lzma вообще лучше использовать в одиночку. Ведь применение, например, dict перед lzma не ставится под сомнение. А zrle делает то же, что dict или rep: уменьшает объем данных сохраняя уровень избыточности, что уменьшает объем работы и увеличивает эффективный размер словаря lzma.


Цитата:
ибо не вижу + по сравнению в имеющимися алко во FA

Сжатие улучшается на величину до 1% без потерь в скорости. Это разве не плюс?


Цитата:
Опиши детальнее, если есть наработки - выложи.

Здесь бинарники, исходник на всякий случай, и немного статистики: ZRLE.rar
Автор: Inoz2000
Дата сообщения: 05.06.2012 06:09
Кому это надо?
Автор: ruduk
Дата сообщения: 25.02.2011 20:54
Bulat_Ziganshin
прошу извинить меня, С++ для меня как инжекторный двигатель... при более тщательном просмотре все же нашел, то что хотел узнать
" -d: decompression (requires only 16 mb of memory besides of OS I/O buffers)\n"

Цитата:
ссылку на сайте поправил

да, я говорил об этой ссылке, спасибо


andhunt

Цитата:
объясните плиз поэтапно как это сделать?

при Упаковке своих файлов в FreeArc GUI на вкладке "Основное" отмечаешь галочку напротив "Сделать ЕХЕ",
и вместо "Графический для Windows: freearc.sfx" прописываешь, например, freearc-installer.sfx

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275

Предыдущая тема: Punto Switcher (часть 3)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.