Bulat_Ziganshin
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: может потому что он всегда убирает кратное 4 число байт? Если так, то как это реализовать в РЕПе? Мож опцию такую добавить. | зачем? имхо очень специфичная потребность Цитата: Кстати на счёт интеграции srep во фриарк. Чисто гипотетически. Сделать репу двухпроходной (2-pass). Первый проход делает srep, собирая статистику о повторах на больших дистанциях. После, на основе этой инфы в дело вступает РЕПа, обрабатывая только участки где имеются повторы, а остальные блоки идут сразу на обработку lzma, минуя репу. Или вообще multipass с разными смещения с каждым новым проходом. | интересная мысль. по крайней мере, srep можно таким макаром делать - тогда ему не потребуется обращаться к диску при распаковке. но минус в том что выходной файл будет записываться непоследовательно. но всё равно очень разумно!!! Добавлено: Цитата: под linux я не умею обнаруживать сколько адресного пространства доступно, но в 0.61a возвращается фикс. значение 2гб, тогда как раньше возвращалось 4 гб -t добавь к команде Добавлено: PAQer, поясняю как я понял идею с srep: обычный LZ - это поток данных, в который местами вместо данных вставлены команды "скопирукй столько-то байт из прошлого с таким-то смещением". ну и lz сэимает за счёт того что эти команды короче оригинальных данных то, как я понял твою идею - это некий реверсный LZ. вместо вышеописанного он сразу при исходных данных выдаёт команды - этот участок скопировать в будущее на такое-то место. тогда при распаковке мы прочитав этот участок из входного файла, сразу записываем его в выходной файл на все нужные места. при этом распаковка обходится минимумом памяти. по сути дела память и вовсе не нужна - если повторяемый кусок такой уж большой, никто не мешщает считывать его из исходного файла и зхаписывать во все необходимые места в выходном кусками по 8 мег |