Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » FreeArc: бесплатный open-source архиватор - Часть 2

Модерирует : gyra, Maz

Widok (07-09-2009 19:15): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

FreeArc
бесплатный open-source архиватор для Windows и Linux,
сочетающий высокую степень сжатия и большой набор возможностей


Официальный сайт | Скриншоты | Скачать
Документация на консольную версию | Документация на GUI версию
Сообщество пользователей FreeArc | Вики | Трекер (рассылка по ошибкам)
Проект на SourceForge.net | SVN-репозиторий | Поддержка InnoSetup
Обсуждение на encode.ru (англоязычное)

Скачать последний релиз - FreeArc 0.51 от 28 апреля 2009 г. Что нового: GUI с 14 локализациями, SFX/инсталятор, авто-определение типов файлов, очередное увеличение скорости и сжатия, словарь в lzma до 1 гб, исправлено 5 ошибок (рас)паковки (подробнее)
 
Текущая альфа версия: скачать (распаковывать поверх установленного FreeArc 0.51). Список исправлений, блог

MiniFAQ...

Подробное описание используемых алгоритмов
Почему он сжимает лучше и быстрее, чем 7-zip/rar...
Результаты тестов, подтверждающие его крутизну...
Почему для использования 2+ гб памяти желательно установить 64-битную версию Windows
Планы дальнейшего развития
Что подразумевается под "интеграцией с Explorer"
Старая FreeArc wiki (включая описание формата архива)
Логотип - объявляется конкурс на иконки для FreeArc

Сторонние оболочки для работы с FreeArc
wArc - простая и понятная программа управления архивами (требует .NET Framework 2.0)
PeaZip - менеджер архивов с поддержкой большого количества форматов, для Windows и Linux

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:02 30-01-2009 | Исправлено: Bulat_Ziganshin, 22:15 30-08-2009
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Егор, я посмотрел, но с 7 по 14 мая почти ничего кроме GUI не менялось. имхо, это ошибка просто чуть-чуть "сместилась", т.е. раньше она возникала скажем при словаре в 1669 мб. можешь потестировать соседние значения со старой версией?
 
а ещё возьми http://www.haskell.org/bz/arc2.arc и запусти ту же команду с -di+%. я счас добавил вывод на консоль карты памяти перед запуском каждого алгоритма сжатия - интересно будет взглянуть. я и сам в принципе попробую
 
Добавлено:

Цитата:
вот ето какраз много, нельзя сделать такой же размер и чтоб требовало ~700мб для распаковки?  

только ручным подобром порядка блоков как это делал skulptura
 
Добавлено:

Цитата:
Тут такой еще вопрос, кажется егор_23 поделилсо такой прогой, которая типа про память рассказывает (memo2g.exe/memo4g.exe). Так вот, эта прога говорит, если я все правильно понимаю, что наибольший нефраментированный участок памяти у меня 1326 метров:
Подробнее...
но почемуто при этом нельзя задать сжатие для rep: больше чем 800Мб, при 832 фа говорит что для сжатия нада 1088Мб, для распаковки 832. По ходу для 1326 можно и больше чем 832, но фа отваливается с сообщением Can't allocate memory for (de)compression...  

 
а вот ты тоже возьми http://www.haskell.org/bz/arc2.arc и запусти в консоли  
 
arc a archive ... -di+% -mrep:832m
 
и затем кинь мне что он там напечатал
 
 
Добавлено:
вот, протестировал сам: Подробнее...
 
как видишь, после первого прохода памяти становится меньше. это имхо tempfile свои 8+8 мег отъедает, два tempfile (входной+выходной) - 32 мега съедено

Всего записей: 3408 | Зарегистр. 13-08-2007 | Отправлено: 22:06 10-06-2009 | Исправлено: Bulat_Ziganshin, 22:46 10-06-2009
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin

Цитата:
вот, протестировал сам: Подробнее...  
как видишь, после первого прохода памяти становится меньше. это имхо tempfile свои 8+8 мег отъедает, два tempfile (входной+выходной) - 32 мега съедено

перед каждым rep есть блок в 2047m
возникла мысль, может не успевает освобождаться память?
 
Добавлено:

Цитата:
возникла мысль, может не успевает освобождаться память?

или выделение идёт параллельно...

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 22:56 10-06-2009
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
перед каждым rep есть блок в 2047m
возникла мысль, может не успевает освобождаться память?  

что ты имеешь в виду? учти, что это на моей машине и здесь эта упаковка проходит прекрасно. а вот у тебя это отъедание 32 мег может рушить всю малину. строго говоря, мне надо сделать проверку свободной памяти и соответствующее обрезание метода непосредственно перед началом сжатия. нынешний вариант когда обрезание производится в самом начале работы, не справляется с этой фигнёй с tempfile. ещё одно возможное объяснение почему -mx не работал

Всего записей: 3408 | Зарегистр. 13-08-2007 | Отправлено: 23:36 10-06-2009
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin

Цитата:
а ещё возьми http://www.haskell.org/bz/arc2.arc и запусти ту же команду с -di+%

log..
 
Добавлено:


Цитата:
Allocated 1799 mb, addr=8F790000

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 23:37 10-06-2009
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
egor23
ага. а теперь попробуй то же самое с --nodir

Всего записей: 3408 | Зарегистр. 13-08-2007 | Отправлено: 23:43 10-06-2009
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а куда делся 2047m?

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 23:43 10-06-2009
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я всё понял!!!
 
его порезали  из него взяли сначала 1800м, а затем tempfile там же выделил 256кб. я кстати ошибся - tempfile выделяет блоки по 256к, и не одновременно: выделили блок, записали данные в файл, осовбодили блок, выполнили внещний компрессор (для tempfile это просто rrename), затем выделил память снова и прочитали данные.  
 
вот этот кусочек в 256к и разрезал память на две части. хотя почему там дальше не срасталось - я всё равно пока не понял. возможно, дело в том, что я тестировал с --nodir
 
тем не менее, я исправил tempfile чтобы он свои 256к выделял снизу. пробуй arc2 снова

Всего записей: 3408 | Зарегистр. 13-08-2007 | Отправлено: 23:54 10-06-2009
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin

Цитата:
ага. а теперь попробуй то же самое с --nodir

ОШИБКА: невозможно выделить память, необходимую для (рас)паковки в rep:1800mb:h26
log..
 

Цитата:
тем не менее, я исправил tempfile чтобы он свои 256к выделял снизу. пробуй arc2 снова

сейчас гляну

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 00:10 11-06-2009
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ага. а теперь попробуй то же самое с --nodir
 
ОШИБКА: невозможно выделить память, необходимую для (рас)паковки в rep:1800mb:h26  

ой, надо было ещё старый архив стереть - он на нём фигнёй страдает. или команду create использовать. 8мб блоки используются при чтении оглавления архива

Всего записей: 3408 | Зарегистр. 13-08-2007 | Отправлено: 00:28 11-06-2009
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin

Цитата:
ой, надо было ещё старый архив стереть - он на нём фигнёй страдает. или команду create использовать. 8мб блоки используются при чтении оглавления архива

?!
там "мало" места на диске архивы удалются сразу, если они в дальнейшем не нужны.
 

Цитата:
тем не менее, я исправил tempfile чтобы он свои 256к выделял снизу. пробуй arc2 снова

теперь нормально, почти:
у второго и т.д. rep
Allocated 1800 mb, addr=8F790000
log..
 
 
Добавлено:
сейчас ещё гляну что будет, если второй rep:1801m будет
 
Добавлено:

Цитата:
Allocated 1800 mb, addr=8F790000

вот лог vmmap, сделан на последнем rep
 

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 01:06 11-06-2009
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
гы. сейчас попробуем использовать wininet для удалённой отладки проги
 
c:\>arc lt ftp://.../resources.arc
 
FreeArc 0.51 listing archive: ftp://.../resources.arc
              Pos            Size      Compressed   Files Method
-----------------------------------------------------------------------------
               31               0               0       3 storing
               31   4.729.514.270   2.250.598.175     500 rep:1536mb+exe+delta+lzma:192mb:max:bt4:128
    2.250.598.206   4.728.909.386   1.792.314.817     302 rep:1536mb+exe+delta+lzma:192mb:max:bt4:128
-----------------------------------------------------------------------------
805 files, 9.458.423.656 bytes, 4.042.912.992 compressed
All OK
 
c:\>arc l ftp://.../resources.arc
...
805 files, 9.458.423.656 bytes, 1.792.314.817 compressed
All OK
 
 
таким образом, вижу две ошибки - первое, команда листинга почему-то не замечает упакованный размер первого блока. второе - у тебя имена каталогов различаются только регистром, может из-за этого GUI не видит файлы из первого блока

Всего записей: 3408 | Зарегистр. 13-08-2007 | Отправлено: 01:29 11-06-2009
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin

Цитата:
сейчас ещё гляну что будет, если второй rep:1801m будет

ОШИБКА: невозможно выделить память, необходимую для (рас)паковки в rep:1801mb:h26
log..

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 01:53 11-06-2009
mxlandr

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всего лиш 1 вопрос. он может распаковать rar архив? просто проставил прогу, и пишет ошибку при распаковке.

Всего записей: 70 | Зарегистр. 05-06-2009 | Отправлено: 16:29 11-06-2009
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
egor23
я обновил arc2, попробуй ещё раз
 
Добавлено:

Цитата:
он может распаковать rar архив? п

нет

Всего записей: 3408 | Зарегистр. 13-08-2007 | Отправлено: 16:38 11-06-2009
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin

Цитата:
я обновил arc2, попробуй ещё раз

остаётся ещё кусочек в 12кБ, соответственно если второй rep:1801m вылетает с ошибкой.
лог vmmap, сделан на каждом rep
log..

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 18:18 11-06-2009
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
причём заметь - таких же 12кб кусков там ещё дальше несколько штук. мне имхается, что это какая-то dll выделяет память сверху - тоже чтобы не пересечься с обычными блоками
 
Добавлено:
во всяком случае, среди вызовов bigalloc 12кб блоков не видно - а это единственное место где я использую флаг TOP_DOWN

Всего записей: 3408 | Зарегистр. 13-08-2007 | Отправлено: 19:10 11-06-2009
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin

Цитата:
таких же 12кб кусков там ещё дальше несколько штук

дальше это последний МБ (4095-4096)
для надёжности сейчас гляну rep:1700m и rep:1m
 
Добавлено:
и ещё гляну Arc.exe 07.05.2009

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 20:19 11-06-2009
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну так первые несколько 12к блоков выделяются до запуска моих алгоритмов, а вот последний уже после того как я 1800 мег выделил под rep - вот ему и досатётся память под ним
 
я придумал как с этим конкретным злом бороться - выделить мег памяти наверху, затем ещё чуть-чуть, затем освободить этот мег
 
Добавлено:
also, there are two general ways to solve memory fragmentation problem:
 
1) alloc large block at the start oof program and do all allocs (BigAlloc,MidAlloc) inside it
 
2) reduce compression methods just before starting their algorithms (in de_compress_PROCESS1)

Всего записей: 3408 | Зарегистр. 13-08-2007 | Отправлено: 20:39 11-06-2009
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin

Цитата:
для надёжности сейчас гляну rep:1700m и rep:1m


Цитата:
и ещё гляну Arc.exe 07.05.2009

у Arc.exe 07.05.2009 нет проблем с 1800+1801+...+1804
и мелькие блоки ему не мешали
так что кто сейчас пакастит должно быть проще выяснить, проблема локализована до одного блока в 12кБ.
лог vmmap
Arc_null - голый arc без ком.строки
 

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 21:44 11-06-2009 | Исправлено: egor23, 21:45 11-06-2009
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
у Arc.exe 07.05.2009 нет проблем с 1800+1801+...+1804  

ок, я отменил единственное системное изменение в нём. попробуй новый arc2

Всего записей: 3408 | Зарегистр. 13-08-2007 | Отправлено: 21:59 11-06-2009
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

Компьютерный форум Ru.Board » Компьютеры » Программы » FreeArc: бесплатный open-source архиватор - Часть 2
Widok (07-09-2009 19:15): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru