FreeArc Fork

долго не мог понять почему у меня msc и lolz не упаковывают...
здешняя версия не разделяет cls и записи в arc.ini
т.е. если есть cls и он только на распаковку, упаковать не получиться
мне больше нравится прежнее поведение
т.е. сначала читаем запись в arc.ini и если там нет то cls
 
@toolame, ну вообще-то я этот механизм не трогал. Что arc.ini, что cls попадают в одну и ту же таблицу внешних компрессоров
 
кстати, по поводу временных файлов от прекомпрессоров, нельзя ли сделать их перемещение/переименование, а не копирование
 
А еще бы сорцы, чтобы можно было скомпилить в fa protect
И возможно ли скомпилить х64 arc.exe? Не обязателен даже прирост производительно, нужно просто, чтобы приложение могло юзать более 3 гб ОЗУ
 
Последнее редактирование:
кстати, по поводу временных файлов от прекомпрессоров, нельзя ли сделать их перемещение/переименование, а не копирование
В теории можно. На практике возможны проблемы из-за текущей реализации взаимодействия алгоритмов.

А еще бы сорцы, чтобы можно было скомпилить в fa protect
Пока я не планирую выкладывать сорцы. Тем более что я переделываю билд-систему, и набор для fa protect может не подойти, да и в принципе будут различия в коде.

И возможно ли скомпилить х64 arc.exe? Не обязателен даже прирост производительно, нужно просто, чтобы приложение могло юзать более 3 гб ОЗУ
Пока нет. текущая версия haskell, под которую заточен код, не умеет в x64
 
я этот механизм не трогал
хммм... может я юзаю более позднюю версию от Булата?
помню что он писал об этом поведении
очень удобно, кстати)

upd:
ага))
 

Вложения

@Shegorat, как пример. при нажатии на Next распаковка data2.arc прописана. архив запакован lolz. в установщике lolz'a нет, должна быть ошибка при нажатии на Next, но создается папка tmp с пустым файлом из архива.
 

Вложения

Открыл доступ к исходникам, т.к. именно данным проектом заниматься больше не буду, есть кое-что поинтереснее ;)
Максимум обновлю unarc, исправив вышеперечисленные ошибки
 
Доброго времене суток! Я так понимаю работа не ведётся более? Жаль, если так. По поводу "хз зачем" параллелить распаковку солид блоков, мелькнула такая мысль:
Возьмём пример архива с wav файлами, крепко упакованным каким-нибудь внешним ofr (Optim FROG), ест-но солид сжатие там смысла не имеет, а упаковка/распаковка будет происходить не эффективно в текущих реалиях - поочередно каждый файл, который равен солид блоку, в один поток.
Это я всё к тому, что неплохо бы научить fa опционально параллелить ещё и внешние упаковщики для ускорения упаковки/распаковки как раз в подобных случаях (нынешняя опция -mt так не умеет, вроде бы.., а если есть варианты - научите).
Ну и не помешало бы дополнительное описание такой возможности, скажем в arc.ini, понятное дело, что параллелить любой внешний компрессор по дефолту смысла нет, особенно при солид сжатии, да и есть алгоритмы, умеющие сами в мультитрейд "из коробки" или через собственные похожие опции -mt, которые можно описать в том же arc.ini. Но с другой стороны, как мне кажется, всякие ofr, wavpack и подобные однопоточные внешние упаковщики, удобнее один раз описать в конфиге и забыть.
 
Разработка ведется, но в другом русле. И не так, чтобы очень быстро
 
Ну этих исходников у меня нет. Можно добавить в issues
Значит, вы взял исходник версии 0.66, затем создал себе проект FreeArc Fork 0.67. Раньше думал основа FreeArc 0.67 (сборка 15-3-2014).


Вот информации о проект FreeArc Fork.

ИСТОРИЯ ИЗМЕНЕНИЙ ВЕРСИЙ:
Первый билд. Пока ещё не до конца разобрался во всей структуре кода, но это всё в процессе.
Обновил алгоритмы хеширования сжимаемых файлов. Больше всего прирост заметен на быстрых алгоритмах
Изменения:
  • 4x4: Добавил опцию "mdt<thread_count>"
  • rep: Фикс memory leak при ошибке упаковки
  • Мелкие изменения кода
  • Собрал unarc.dll, unarc.exe для поддержки внесённых изменений

З.Ы. Я приболел, поэтому изменений немного
З.З.Ы. Предлагаю собрать обновленный arc.ini и arc.groups на основе ваших изысканий в сжатии игр и программ, т.к. текущие давно устарели

Для справки:
arc.groups - позволяет определять группы файлов с похожим форматом (аудио, видео, изображения и т.д.) по их расширениям
arc.ini - позволяет определять готовые цепочки сжатия, в том числе и специфичные для групп файлов из arc.groups

unarc (dll/exe): Пофиксил некоторые косяки при обработке ошибок

@sergey3695 можешь попробовать эту либу на своём "проблемном" архиве
  • Добавил поддержку опций лимитирования кол-ва памяти/потоков для CLS (CLS должен уметь поддерживать эти опции, см. cls.h)
  • Добавил опцию лимитирования кол-ва потоков при распаковке -ldt{Threads}, передается в unarc.dll/exe
  • Пофиксил некоторые ошибки

P.S. Для FA соответственно будут опции -ldt/-lct, когда добавлю обработчик - соберу

@sergey3695 попробуй эту версию dll
Добавил доп. проверки, причесал код, сделал небольшие оптимизации
 
Назад
Сверху