SrepInside

CLS SrepInside 0.3.3

Нет прав для скачивания

ProFrager

Знаток
Проверенный
Пользователь ProFrager разместил новый ресурс:

SrepInside - CLS-фильтр (библиотека) для FreeArс.

CLS-фильтр (библиотека) для фриарка, предназначенный для распаковки srep архивов параллельно распаковке lzma (в архивах со сжатием -msrep+lzma), что в сочетании с использованием режима -f в срепе, в разы увеличивает общую скорость распаковки. Особенно заметно на большом объеме данных.
Сжимать архив необходимо с параметрами во фриарке типа -msrep:m3f:l256:a1+lzma:max
где m3f (или любой другой метод с опцией -f) является обязательным параметром!
Узнать больше об этом ресурсе...
 

ProFrager

Знаток
Проверенный
Druid, я делал обработку строки упаковки только с конкретно заданным количеством оперативной памяти, так что таким образом указывать пока не получится.
 

Snoopak96

Старожил
ProFrager,
В версии 0.2.1, выгружает srep-virtual-memory.tmp рядом с Setup.exe, пробывал задавать так:
Код:
if not ISExec          ( 0, 0, 0, ExpandConstant('{tmp}\unarc.exe'), ExpandConstant('x -o+ "{src}\Data1.bin" -dp"{app}"'), ExpandConstant('{app}'), '...', true) then break;
И так:

Код:
if not ISExec          ( 0, 0, 0, ExpandConstant('{tmp}\unarc.exe'), ExpandConstant('x -o+ "{src}\Data1.bin" -dp"{app}"'), ExpandConstant('{tmp}'), '...', true) then break;
В любом случае рядом с Setup.exe выгружает, можно его в {app} выгрузить? Я так понимаю Cls фильтр отталкивается от того где лежит обрабатываемый архив.

И при отмене он остаётся так и лежать в {src}, не удаляется.
 

ProFrager

Знаток
Проверенный
он создает этот файл в текущей папке, а текущая папка в unarc.exe, видимо, устанавливается туда, где находится входной архив. Надо будет в фильтре прописать, чтобы файл создавался в папке, где лежит сама dll. А на счет удаления темп файла - я помню вроде добавлял в исходники srep'а это дело. Хотя тут другое дело. При отмене процесс unarc.exe аварийно завершается, соответственно и все дллки выгружаются и изнутри отловить этот момент не выйдет. Так что если используешь unarc.exe для распаковки, то удаляй темп файл вручную.
 

Snoopak96

Старожил
ProFrager,
Для tmp будет наверно через чур много:
Пользователь же может и не на системный диск ставить. В путь установки было бы самый раз если это возможно.

Сегодня ещё замерял время распаковки. так с параллельным srep экономиться 40-45% времени в сравнении если всё это делать раздельно.
 

potatoes

Новичок
а нельзя никак сделать и упоковку такую же на лету? (без -f получается надо будет делать)

а то freearc только при распаковке как я понял принимает stdin
 

Snoopak96

Старожил
а нельзя никак сделать и упоковку такую же на лету? (без -f получается надо будет делать)

а то freearc только при распаковке как я понял принимает stdin
Нет, и cls не работает с i/o каналом, и -f не причём.
 
Последнее редактирование:

potatoes

Новичок
сейчас srep 2,98+ freearc 0.67 когда srep как external compressor то метод после srep
ждет пока тот не завершиться полностью или он уже сжатые данные берет и сжимает далее ?
 

ProFrager

Знаток
Проверенный
potatoes, если посредством stdin/out или cls фильтра, то алгоритмы обмениваются данными блоками с некоторой буферизацией, что приводит к их непрерывной параллельной работе (при условии, что для всех достаточно памяти). Если же через temp файлы, то естественно сначала будет работать один алгоритм, а затем уже другой.
 

potatoes

Новичок
ProFrager
c stdin/out параллельно может работать только при распаковке c -f (точно не знаю но вроде без -f не получится по ходу распаковывать, так?) и при упаковке без -f, потому как он же в 2 стадии пишет данные
 

ProFrager

Знаток
Проверенный
potatoes, скорость упаковки в данном случае играет наименьшую роль. Без -f распаковка через stdin/out возможна, только на диске будет создаваться временный файл и кроме передачи данных по интерфейсу stdin/out все данные будут скидываться в этот файл для копирования оттуда совпадений в будущем.
 

potatoes

Новичок
при распаковке в темп только данные пишутся, future lz-math не пишутся туда
у меня проблема возникла с srep 2.98, он не распаковывает файлы больше 2 гб которые с флагом -f сделаны были.
на ветке ru-board написал, но там нет ответа пока

и еще бывает, что файлы которые я пакую потребляют огромный объем памяти не совпадающий с тем что написано в консоли
 

ProFrager

Знаток
Проверенный
potatoes, на счет распаковки - очень похоже на глючную память.

Добавлено через 1 минуту
на счет упаковки - использовал версии до 2.95, ничего подобного не замечал.
 

ProFrager

Знаток
Проверенный
potatoes, а на работе ты только распаковывал тот архив, что дома паковал, или брал исходные данные в обоих случаях, затем упаковывал и распаковывал?
 

potatoes

Новичок
ProFrager
автор указано что это только с 32 битной версией, т.е. где бы ты не делал архив с файлом больше 2 гб с флагом ф распаковать его не получится

Булат Зиганшин
примерно как я и предполагал (скудных знаний анг. хватило хоть что то понять)
 
Сверху