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

» FreeArc (часть 4)

Автор: Profrager
Дата сообщения: 15.02.2011 22:49
Aroyl

Цитата:
Есть ли способ при распаковке не останавливаться при ошибке, а пропустить и продолжить разархивацию?
это разве что индивидуальный билд srep'а делать без проверки контрольной суммы. Ты лучше попробуй перепаковать все, а то может во время упаковки возникли ошибки где-нибудь на пути от оператики до винта и srep-архив действительно битый.
Автор: 1noObman1
Дата сообщения: 18.11.2011 13:24

Цитата:
К тщеславным перепаковщиков, любой ценой уменьшающие размер репака не испытываю никакой симпатии.


Почему же любой? Всему есть свой предел. Но ТАК, например, работает очень быстро и время распаковки увеличится минут на 5, в то время, как размер уменьшится очень сильно.
Автор: vasulpr
Дата сообщения: 18.11.2011 14:11
Bulat_Ziganshin
Может всетаки уберете подразделение compression level, а то оно дублирует выбор сжатия на главной странице. Соответственно для опций будет больше места, и исчезнет прокрутка.


Цитата:
что туда ещё добавить? мои мысли:
 
- галочка "расшифровать метод сжатия", превращающая -m4 в -mrep.../$obj=..... - ну в общем ясно
- lc/-ld
- галочки для включения srep, precomp (с подгалочками для -t-j и slow) и dispack

все поддерживаю и прошу также добавить опцию "-s;" (Один каталог и один солид-блок на весь архив)!

Жду альфы с новой страницей сжатия!

PS: спасибо что взялись за реализацию моей идеи!
Автор: Bulat_Ziganshin
Дата сообщения: 15.02.2011 23:18
SREP 2.0 was released:

* -m3: new default compression mode that finds byte-exact matches; so srep:m3 outperforms rep+srep:m2
* -temp=FILENAME option that allows to use stdin-to-stdout mode without any restrictions (all external data required for compression/decompression are stored in this file)
* -c option to explicitly specify hash chunk size
* -s option to specify size of input data
* "srep file" and "srep file.srep" syntax now supported for compression and decompression respectively, simplifying program usage and allowing to just drag-n-drop file to executable's icon in order to compress or decompress it
* on disk overflow (or other write error), program displays message, deletes outfiles and returns dos error code
* compression memory usage was reduced by 8 mb

The only change after 1.91 is -s option - it allows to compress from stdin by specifying maximum possible input data size:
cat file | srep -s100m - file.srep

By default, -s25gb is assumed (and 1 gb of memory is allocated for hashing!)


Добавлено:
Aroyl
непонятно, кто ты в этом сценарии? tсли автор репака, то зачем тебе как-то извращаться - просто не используй srep

не распаковывается на твоей собственной машине, как я понимаю?
Автор: Bulat_Ziganshin
Дата сообщения: 18.11.2011 14:51

Цитата:
Может всетаки уберете подразделение compression level, а то оно дублирует выбор сжатия на главной странице

оно не дублирует, а как раз конструирует его - ты просто не разобрался


Цитата:
"-s;"

это да, сделал
Автор: Aroyl
Дата сообщения: 16.02.2011 07:36
ruduk

Спасибо большое за информацию, srep подключил.

Profrager

Тогда уж билд не srep'а, а IsDone.dll - как я писал, она ответственна в данном случае )
В моем случае было бы удобно, если бы при установке (распаковке) выводился запрос на пропуск найденной ошибки и продолжение.

Bulat_Ziganshin

В сценарии я - конечный пользователь репака, устанавливаю на своей машине. Установка игры длится больше часа, требует 41Гб места и прерывается на 75%. После чего все временно распакованные архивы удаляются и установка отменяется. Я вытащил таки из srep'а конечный .arc c файлами вручную, распаковал его Freearc'ом, просто неудобно, что часть файлов распаковалась, всё остановилось из-за одного файлика, остальные пришлось опять же вручную частями извлекать. В связи с этим я и задал вопрос - вдруг есть ключ, позволяющий arc.exe при распаковке игнорировать ошибки или хотя бы не прерывать распаковку (скажем генерировать сообщение об ошибках уже после распаковки). Как я понял, такого ключа нет.
Автор: Profrager
Дата сообщения: 16.02.2011 09:50
Bulat_Ziganshin

Цитата:
SREP 2.0 was released
увидел, обрадовался, думал увижу -m4, а нет, еще рано для него)

Цитата:
The only change after 1.91 is -s option - it allows to compress from stdin by specifying maximum possible input data size
теперь для комплекта осталось включить в freearc поддержку подобной переменной для arc.ini, чтобы корректно через stdin+stdout отрабатывало.

И как обычно большое спасибо за релиз)
Автор: ndch
Дата сообщения: 18.11.2011 14:56
1noObman1

Цитата:
ТАК, например, работает очень быстро и время распаковки увеличится минут на 5, в то время, как размер уменьшится очень сильно.

Уменьшится очень сильно относительно flac ?

Вам ещё не встречались многоканальные wav ?
Автор: Bulat_Ziganshin
Дата сообщения: 16.02.2011 09:55
Aroyl
а не проще на другой машине распаковать? у меня самого srep сбоит, я грешу на разгон
Автор: Profrager
Дата сообщения: 18.11.2011 16:53
ndch
1noObman1
вы с разных колоколен смотрите на данную проблему, так что думаю ваш спор ни к чему не приведет. Все останутся при своих мнениях.
Автор: Aroyl
Дата сообщения: 16.02.2011 10:29
Bulat_Ziganshin

Вопрос с установкой решился. Вроде бы помогло увеличение объема файла подкачки (Win7x86, родные 4Гб, своп поставил "рекомендовано системой"). Ещё возможная проблема (подсмотрел на сайте где брал) - кеширование антивирусом распаковываемого файла, но это надо тестить. Распаковать на другой машине можно, только долго опять же. Всё к лучшему: пока мучался с игрой - познакомился с классным архиватором) Надеюсь, когда-нибудь и мою просьбу прикрутишь. Удачи
Автор: vasulpr
Дата сообщения: 18.11.2011 17:58

Цитата:
оно не дублирует, а как раз конструирует его - ты просто не разобрался

тогда хоть сделайте его в виде выпадающего списка, а то занимает много места ...
Автор: egor23
Дата сообщения: 16.02.2011 10:57
Aroyl

Цитата:
В сценарии я - конечный пользователь репака,

что этого за репак (название, размер, где лежит)?

Добавлено:

Цитата:
конечный .arc c файлами вручную, распаковал его Freearc'ом

дайте результат с этого фала
arc lt file.arc
Автор: Bulat_Ziganshin
Дата сообщения: 18.11.2011 22:53


надеюсь через пару дней все эти галочки действительно заработают идеи по усовершенствованию - приветствуются, пока я это дело не отлил в металл
Автор: V2driver
Дата сообщения: 19.11.2011 03:45
Bulat_Ziganshin
Оставьте tta в покое, не нужно ничего менять...
Вот что реально нужно - так это lzma2
Автор: Bulat_Ziganshin
Дата сообщения: 16.02.2011 18:00
SREP 2.91 alpha:

* -f: future-LZ compression; -m1f..-m3f as shortcuts
* -mBYTES for future-LZ decompression
* -nomd5: don't store/check MD5 checksum of every block

"srep -f infile" performs 2-pass compression, storing in the compressed file references to forthcoming LZ matches
"srep infile.srep" decompress such file without additional I/O - all matches are stored in dictionary. Thus, it may decompress from stdin to stdout w/o tempfiles

Unlike ordinal LZ compressors, decompressor's dictionary saves only data that will be really used at some future moment. This significantly reduces RAM needs. Examples:

1) 22 gb file from LostPlanet2 compressed down to 7 gb and require 2 gb of RAM for decompression. For comparison, REP:2gb compressed the same file only to 8.7 gb - i.e. 20% more

2) dll700.dll from my testset:
184 mb: compressed with lzma:64m
177 mb: compressed with rep:256m+lzma:64m
171 mb: compressed with lzma:256m
121 mb: compressed with srep+lzma:64m, while only 200+64 mb RAM required for decompression

The only way to limit memory usage at decompression is -mBYTES option - it will store in RAM only matches less than BYTES long. Other matches will be copied, as usual, directly from output file (therefore you can't decompress to stdout with -m). Example:
Код: srep -f infile
srep -m128kb infile.srep
Автор: GREK93
Дата сообщения: 16.02.2011 18:38
я создаю репак игры добавляю все файлы в архив FreeArc создаю скрипт после того как я создал скрипт начинаю устанавливать репак а он устанавливает только файл FreeArcа arc [more=скрин]Скачать sshot-1.png с WebFile.RU [/more]
Автор: gryhov
Дата сообщения: 19.11.2011 07:23
Bulat_Ziganshin
Интересно, что скрывается за чекбоксами "EXE2"&"Slow". Можно ещё вывести опять же чекбоксами настройки сортировки (которые -ds*). А у precomp'а сделать выбор версии (0.3.8\0.4.2)
Автор: egor23
Дата сообщения: 16.02.2011 18:57
Bulat_Ziganshin
SREP 2.91 alpha

Цитата:
-l: minimum LZ match length, default 0
Автор: V2driver
Дата сообщения: 19.11.2011 09:43
Bulat_Ziganshin
Ваша цитата:

Цитата:
Я вроде допёр как улучшить сжатие связки (s)rep+lzma. если мы при запуске srep знаем с каким словарём будет lzma, то надо просто пропускать тело совпадений при дистанции меньше lzma:dict - поскольку точно известно что их и lzma cожмёт, причём куда эффективней

Скоро это будет реализованно?
Автор: lorents
Дата сообщения: 16.02.2011 19:36
Не обращаем внимания
Автор: Bulat_Ziganshin
Дата сообщения: 19.11.2011 10:29

Цитата:
Интересно, что скрывается за чекбоксами "EXE2"&"Slow"

dispack и precomp:insane


Цитата:
Можно ещё вывести опять же чекбоксами настройки сортировки (которые -ds*)

они есть в диалоге Add на второй закладке. другое дело, стоит ли их перенести в профиль сжатия?


Цитата:
А у precomp'а сделать выбор версии (0.3.8\0.4.2)

а зачем? имхо лучше включить в комплект поставки 0.4.2 и ориентироваться только на него

Добавлено:

Цитата:
Скоро это будет реализованно?

нескоро
Автор: ruduk
Дата сообщения: 16.02.2011 20:03
Bulat_Ziganshin

Цитата:
srep -f infile" performs 2-pass compression
т.е. для определения совпадений необходимо в 2 раза больше времени, чем без -f ?
Автор: Bulat_Ziganshin
Дата сообщения: 16.02.2011 21:07
ruduk
обычный алгоритм: чтение+поиск совпадений+запись

новый алгоритм:
1-й проход: чтение+поиск совпадений
2-й проход: чтение+запись

данные о совпадениях сохраняются в памяти между проходами и таким образом не ищутся на втором проходе. так что всё что мы теряем - память для хранения совпадений (1-10% от размера хеша) плюс повторное чтение данных, т.е. порядка 10 сек. на каждый гигабайт сжимаемых данных
Автор: vasulpr
Дата сообщения: 19.11.2011 13:27

Цитата:
они есть в диалоге Add на второй закладке. другое дело, стоит ли их перенести в профиль сжатия?

нет, не нужно! пусть будет там где есть


Цитата:
имхо лучше включить в комплект поставки 0.4.2 и ориентироваться только на него

+1
Автор: gryhov
Дата сообщения: 19.11.2011 14:59
Bulat_Ziganshin

Цитата:
они есть в диалоге Add на второй закладке. другое дело, стоит ли их перенести в профиль сжатия?

Там выпадающий список, а не чекбоксы. Переносить, как мне кажется, не имеет смысла

Цитата:
а зачем? имхо лучше включить в комплект поставки 0.4.2 и ориентироваться только на него

0.4.2 вылетает, 0.3.8 - не замечал
Автор: Profrager
Дата сообщения: 16.02.2011 22:43
Bulat_Ziganshin

Цитата:
SREP 2.91 alpha
Великое событие!

Цитата:
"srep -f infile" performs 2-pass compression
первые ощущения: кажется оно быстрее в итоге работает, чем однопроходный.

Цитата:
The only way to limit memory usage at decompression is -mBYTES option - it will store in RAM only matches less than BYTES long. Other matches will be copied, as usual, directly from output file
реально именно этого и не хватало предыдущей версии срепа А этой теперь ограничения по используемой памяти для распаковки) Хоть это и не столь важно, ибо можно подогнать опцией -m.
З.Ы. интимный вопрос: почему альфы идут именно с циферкой *.91 ?

Добавлено:
Распаковываю 2.6гб srep-архив, в который упакованы 4 гб данных с параметрами -m3 -l32 -f. Пик памяти в срепе написано 525мб, в диспетчере задач показывает 700мб+ (потом постепенно уменьшается). Это из-за выделения кусочков оперативки кратной размеру страницы памяти в винде или фрагментации памяти?
Автор: egor23
Дата сообщения: 17.02.2011 02:27
Bulat_Ziganshin

Цитата:
Matches 2123 3483 17796, memory 127mb 167mb 180mb

а при упаковке получитьэту информацию можно?
Автор: Bulat_Ziganshin
Дата сообщения: 19.11.2011 15:04

Цитата:
Там выпадающий список, а не чекбоксы.

а как ты собрался настраивать -ds чекбоксами?


Цитата:
0.4.2 вылетает, 0.3.8 - не замечал

две версии тянуть мне тоже неохота, этак оно разрастётся... лучше было бы автора запинать
Автор: egor23
Дата сообщения: 17.02.2011 05:04

Цитата:
"srep infile.srep" decompress such file without additional I/O - all matches are stored in dictionary. Thus, it may decompress from stdin to stdout w/o tempfiles

вот засада, precomp всю картину портит

Добавлено:
у arc тоже нет stdin to stdout

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275

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


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