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

» FreeArc: бесплатный open-source архиватор - Часть 3

Автор: Profrager
Дата сообщения: 01.09.2010 23:27
Bulat_Ziganshin
кул, lzma(встроенный в FA) и srep параллельно распаковываются, а затем окончательно rep. Только вот еще бы прогресс был.. а то 0% в первых двух операциях. И когда пытались srep и lzma параллельно упаковываться проценты были 99,8-99,9 всю операцию.
Автор: egor23
Дата сообщения: 02.09.2010 00:15
Bulat_Ziganshin

Цитата:
а откуда мне эту инфу взять?

оттуда же, откуда и поддержка этих форматов.
Автор: Bulat_Ziganshin
Дата сообщения: 02.09.2010 08:40
egor23
для 7z эту информацию вытащить можно, но не так просто как для fa. для других форматов - нет. в планах есть, но далеко не сразу

Добавлено:

Цитата:
Только вот еще бы прогресс был..

для этого надо srep встроить в fa
Автор: ndch
Дата сообщения: 02.09.2010 09:08
Bulat_Ziganshin

Цитата:
* Multithreaded deflate compressor - fastest on the planet!
конкретно это в каком режиме ?
при сжатии в zip

Пожалуйста приведите пример (командную строку).
Автор: Bulat_Ziganshin
Дата сообщения: 02.09.2010 09:15
ndch
Arc.exe a a.zip enwik8 -tzip
Автор: Bulat_Ziganshin
Дата сообщения: 02.09.2010 21:07
SREP 1.91 alpha:

* -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
* "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


How to set up FreeArc to use new SREP in filter mode:

Код: [External compressor:srep]
;options = l%d (minimal match length, default=512)
packcmd = srep {options} -temp=srep.tmp - - <stdin> <stdout>
unpackcmd = srep -d -temp=srep.tmp - - <stdin> <stdout>
Автор: Profrager
Дата сообщения: 02.09.2010 21:13
Bulat_Ziganshin

Цитата:
SREP 1.91 alpha


Цитата:
[External compressor:srep]
;options = l%d (minimal match length, default=512)
packcmd = srep {options} -temp=srep.tmp - - <stdin> <stdout>
unpackcmd = srep -d -temp=srep.tmp - - <stdin> <stdout>



Добавлено:
ссылочку поправь..

Добавлено:
ты не оставляешь прям и дня без радостных новостей)
Автор: egor23
Дата сообщения: 02.09.2010 22:12
Bulat_Ziganshin

Цитата:
* -c option to explicitly specify hash chunk size

по подробней, что это?
Автор: Profrager
Дата сообщения: 02.09.2010 22:13
У меня как обычно..


Код: arc.exe a -lc6g -ao -s --cache=8 -msrep:m3:l512 -dsgenp --display=hoacmnwrfdtske-r -i2 dat1.arc data.pcf
Автор: egor23
Дата сообщения: 02.09.2010 23:29
Bulat_Ziganshin

Цитата:
У меня как обычно..

у меня также
Инструкция по адресу "0x0040388c" обратилась к памяти по адресу "0x7ffa1000". Память не может быть "written".

Добавлено:
srep32i.exe
Автор: ndch
Дата сообщения: 03.09.2010 08:21
Bulat_Ziganshin
Это конечно хорошо, даже отлично, удобно для пересылки другим людям, но:

-tzip
Compressed 1 file, 2,426,210,304 => 2,283,643,163 bytes. Ratio 94.1%
Compression time: real 159.75 secs. Speed 15,187 kB/s

-m=tor:4:1m:h1m
Compressed 1 file, 2,426,210,304 => 2,266,848,501 bytes. Ratio 93.4%
Compression time: cpu 59.42 secs, real 85.69 secs. Speed 28,315 kB/s

core2duo e8400, 2gb ram
Автор: Bulat_Ziganshin
Дата сообщения: 03.09.2010 08:30

Цитата:
Это конечно хорошо, даже отлично, удобно для пересылки другим людям,

именно так. tornado в твоём примере жмёт лучше из-за большего словаря, и быстрее - потому что он проверяет всего несколько матчей. сделать быстрый режим deflate в моих силах, а расширить его словарь - нет. так что если у тебя есть выбор, tor всё равно будет лучше

кстати попробуй -m=4x4:b8m:tor:4:512k:h512k
Автор: THE GUILTY GOD
Дата сообщения: 03.09.2010 13:15
Народ, помагите пожалуйста я не пойму куда надо вписать фрхивы freearc чтобы инстолятор их распаковывал во время установки
Автор: Bulat_Ziganshin
Дата сообщения: 03.09.2010 13:30

Цитата:
# Родственные темы:
# Inno Setup плюс внешние упаковщики

Автор: ndch
Дата сообщения: 03.09.2010 17:10
Bulat_Ziganshin

Цитата:
кстати попробуй -m=4x4:b8m:tor:4:512k:h512k

Кстати да, в будущем присмотрюсь

FreeArc 0.67 (August 4 2010) creating archive: zzz.arc

arc a -m=4x4:b8m:tor:4:512k:h512k
Compressed 1 file, 2,426,210,304 => 2,287,418,670 bytes. Ratio 94.2%
Compression time: cpu 67.05 secs, real 78.41 secs. Speed 30,943 kB/s

-m=tor:4:1m:h1m
Compressed 1 file, 2,426,210,304 => 2,266,848,501 bytes. Ratio 93.4%
Compression time: cpu 59.00 secs, real 84.92 secs. Speed 28,569 kB/s

Спасибо за совет. Если не сложно - расскажите что такое 4x4:b8m ?
В "Документация на консольную версию" из шапки - объяснения не нашел.
так же не увидел что b8m применимо к tor.
Автор: Bulat_Ziganshin
Дата сообщения: 03.09.2010 17:12

Цитата:
У меня как обычно..


Цитата:
у меня также

i found reason of bug - srep can't find infile size, so it can't allocate memory for hash. proper fix require to pass filesize from freearc to srep. i will fix it in about a week... just now srep can't work in filter mode


Добавлено:

Цитата:
что такое 4x4:b8m ?

разбивает данные на куски в 8мб и сжимает каждый из них независимо нижеследующим алгоритмом. поскольку у вас два ядра - работа распараллеливается между ними, плюс ввод/вывод идёт параллельно. собственно твой тест упирается в скорость в/в, иначе оно было вдвое быстрее обычного tor
Автор: Profrager
Дата сообщения: 03.09.2010 20:25
Bulat_Ziganshin

Цитата:
i found reason of bug - srep can't find infile size, so it can't allocate memory for hash. proper fix require to pass filesize from freearc to srep. i will fix it in about a week... just now srep can't work in filter mode

спасибо) будем с нетерпением ждать новую версию.
P.S. может srep'у в режиме stdin/stdout размер файла первыми 8 байтами в stdin передавать?
Автор: egor23
Дата сообщения: 03.09.2010 22:04
Bulat_Ziganshin

Цитата:
* -c option to explicitly specify hash chunk size

по подробней можно, что это?
Автор: Profrager
Дата сообщения: 03.09.2010 22:12
egor23
я пробовал ставить -с1, srep запросил 24гб оперативки А вообще действительно интересно, что за размер такой. Смысловое назначение в алгоритме.
Автор: THE GUILTY GOD
Дата сообщения: 04.09.2010 12:13
Я добавил в скрипт NFS Undercover свои данные, вроде всё скомпилировалось, но вот при установки (там где должны распаковыватся архивы) вылазит ошибка от ISDone.dll, а конкретно такая
"Неверно задан выходной файл для ISArcExtract!"

А также не могу догнать что тадо вписать в FreeArc.iss что бы инстолятор находил архивы на диску (во время установки) и распаковывыл их.
Автор: Profrager
Дата сообщения: 04.09.2010 13:36
THE GUILTY GOD
ты запарил. Во-первых не пиши одни и те же вопросы по сто раз и в темах не соответствующих им. Во-вторых я тебе в другой теме уже ответил. В-третьих для решения твоих вопросов достаточно, чтобы работало 0,01% мозга любого среднестатистического гуманоида планеты Земля.
Автор: Bulat_Ziganshin
Дата сообщения: 08.09.2010 13:21

Цитата:
srep 1.91: -c option to explicitly specify hash chunk size

-m1/m2 находит матчи длиной, кратной L (опция -l), начинающиеся с позиций файла, кратных L. для их нахождения достаточно разбить файлы на куски длины L и прохешировать их, то есть hash chunk size == L

-m3 находит любые совпадения длиной >=L, что требует хеширования файла кусками по C=(L+1)/2 байт. поскольку мой алгоритм корректен только при hash chunk size, являющейся степенью двойки, то С ещё дополнительно округляется вниз до ближайшей степени 2

явное задание C может использоваться для уменьшения расхода времени/памяти за счёт чуть-чуть неоптимального сжатия, например -m3 -l400 -c256 не найдёт всех матчей длины >=400, но будет "дешевле" чем используемое автоматом -c128

и ещё: как видите, в -m3 L и C отвязаны друг от друга, что даёт возможность использовать L, не являющиеся степенью двойки, для небольшой оптимизации сжатия
Автор: Profrager
Дата сообщения: 08.09.2010 14:44
Bulat_Ziganshin
спасибо за подробное описание) Не плохо было бы что-то подобное поместить в readme.txt к srep'у. Чтобы народ хоть косвенно понимал чем он пользуется и как оно работает.
Автор: ndch
Дата сообщения: 11.09.2010 09:18
Bulat_Ziganshin
Со скоростным сжатием, подходящим под мои цели, определился и за полгода выбор оправдался.
tornado

Назрел вопросик:
Есть ли рекомендации для скоростного извлечения ?
Есть несколько тысяч мелких (10..100 кб) и около тысячи крупненьких (20..200 Мб) файлов - надо сжать в архив, но так чтобы можно было быстро извлечь пяток мелких и один крупный.
Понимаю что звучит наивно, но всё же... Не могли бы привести общие рекомендации ?

Добавлено:
Правильно понимаю, что режим тестирования (arc t file.arc) показателен для скорости распаковки ?
Автор: Bulat_Ziganshin
Дата сообщения: 11.09.2010 10:01

Цитата:
Есть ли рекомендации для скоростного извлечения ?

tor:c3 распаковывает быстрее, а сжимает ненамного хуже дефолтного tor:c4 (хотя ты вроде используешь 4-й режим, тогда там и так по дефолту c3)


Цитата:
Правильно понимаю, что режим тестирования (arc t file.arc) показателен для скорости распаковки ?

да, это распаковка без записи на диск. она показательна хза исключением тех случаев когда запись на диск занимает много времени (например на медленные usb-стики или мелкие файлы на механический винт)


Цитата:
так чтобы можно было быстро извлечь пяток мелких и один крупный.

экспериментировать с размером солид-блока и сортировкой файлов. идеально чтобы все извлекаемые файлы находились в одном солид-блоке. кроме того, распаковка солид-блока прекращается когда распакованы все запрошенные файлы, поэтому можно отсортировать файлы в солид-блоках по размеру. тогда почти полностью будет распакован только один солид-блок (с большим файлом), а маленькие файлы будут быстренько распакованы из начал своих солид-блоков
Автор: ALTAIR_OC
Дата сообщения: 12.09.2010 17:30
В кейне и линче 2, есть папки с F01 по F07, общий размер 1,34 ГБ, при сжатии строчкой -m=precomp038:slow:t-j+srep:l512+lzma:512mb:max:bt4:128 выходит архивчег оч хорошо сжатый размером в 607мб, если сунуть сначала в архив и потом в ручную обработать архив срепом и прекомпом и зажать -mx -ld512m то архив не жмется вообще, а теперь вопрос, что я делаю не так? хотелось бы узнать почему не жмется
Автор: V2driver
Дата сообщения: 12.09.2010 19:48
ALTAIR_OC а у тебя первый архив распаковывается? без ошибок?
Автор: ALTAIR_OC
Дата сообщения: 12.09.2010 19:54
V2driver
Какой первый?
Автор: V2driver
Дата сообщения: 12.09.2010 20:01
ALTAIR_OC всмысле тот который ты жал с параметром:

Цитата:
-m=precomp038:slow:t-j+srep:l512+lzma:512mb:max:bt4:128
Автор: Profrager
Дата сообщения: 12.09.2010 20:29
ALTAIR_OC

Цитата:
и потом в ручную обработать архив срепом и прекомпом и зажать -mx -ld512m
может просто последовательность действий не та?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970

Предыдущая тема: Opera (часть 14)


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