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

» FreeArc (часть 4)

Автор: Shuld
Дата сообщения: 09.05.2011 19:47
Вопрос про многопоточность

Если взять метод сжатия (лежит в основе метода -mex6):
1) -mrep:256mb+4x4:lzma:8mb:h16mb:max
и его варианты
2) -mrep:256mb+4x4:t3:lzma:8mb:h16mb:max
3) -mrep:256mb+4x4:t2:lzma:8mb:h16mb:max

то получается:
time memory
cpu real compression decompression
1) 1052s 266.5s 740mb 368mb
2) 1042s 265.7s 643mb 349mb
3) 976s 290.0s 546mb 330mb
Размер архива во всех случаях идентичен - 1 254 171 009 байт.

Вопрос:
Почему время сжатия в три потока :t3: примерно такое же, как в случае четыре потока?
У меня такое проявляется всегда, плюс/минус погрешность.
Процессор i3-530 (2 ядерный, 4 поточный), Win7 32-разрядная, ОЗУ 4 ГБ
Это особенность 2-ядерного процессора? И на настоящих 4-ядерных такого нет?
Кто ответит?

Загрузка процессора в 4 и 3 потока - 100%, в 2 потока - около 85%.
(Получается, что на таких процессорах, как мой, удобнее архивировать в три потока - меньше требуется памяти. Жаль, FreeArc этого не знает)
Автор: xap4oru
Дата сообщения: 12.05.2011 10:50
У меня такой вопрос: я не дуб в программировании, но в этой программе вообще ничё понять не могу... У меня стоит win 7 x64... Упаковывая ёмкий (порядка 16 Гб изначальных файлов) инсталлятор стандартными средствами inoo setup, все архивы создавались с ошибками, думал, что в freearc их не будет, но нет,тоже выдаёт ошибку, что архив был повреждён при упаковке и там что-то в духе lzma написано и т.п. Я решил попробовать воспользоваться LZMA-x64 в папке Addons, но не понял, как его встроить и пользоваться им. Объясните, как его встроить, стандартный readme не помог и с чем всё-таки могут быть связаны ошибки при упаковке?...
Автор: xap4oru
Дата сообщения: 12.05.2011 20:15
Проблема решена - оказалась битой одна плашка оперативки...
Автор: Sig666
Дата сообщения: 13.05.2011 16:56
tta в паре с rep или lzma - не работает непрерывное сжатие. Это баг или так задумано?
Автор: vintage 1
Дата сообщения: 14.05.2011 19:31
Bulat_Ziganshin
Здраствуйте
Я хотел спросить не могли бы вы мне воткуть 7z и srep
Голову ломаю!

Вот мой распаковщик
http://rghost.ru/6360661
_________________________________________________________

Чтоб распаковка шла по схеме
Archives_Arc = '{src}\Data1.arc';
Archives_Bin = '{src}\Data2.bin';
Archives_Zip = '{src}\1.7z';
Archives_Srp = '{src}\Data4.srp';
такой
Ну как в ISDone
только в скрипте моём =)
========================
За это буду благодарин
Автор: Bulat_Ziganshin
Дата сообщения: 14.05.2011 19:53

Цитата:
tta в паре с rep или lzma - не работает непрерывное сжатие. Это баг или так задумано?

tta в паре с rep/lzma не имеет смысла, tta+solid в большинстве случаев тоже не взлетит


Цитата:
Я хотел спросить не могли бы вы мне воткуть 7z и srep

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


Цитата:
Почему время сжатия в три потока :t3: примерно такое же, как в случае четыре потока?

потому что механика расчёта оптимального числа потоков несовершенна. она не принимает во внимание то что lzma сжимает в ~1.7 потока и то, что твой проц имеет 2 ядра + HT
Автор: vintage 1
Дата сообщения: 15.05.2011 07:26
Bulat_Ziganshin

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



Цитата:
вы серьёзно думаете, что мне делать нечего как писать вам скрипты?

Да и некто и не заставляет вас делать просто спросить хотел.


Цитата:
вместо того, чтобы разобраться в них и сделать то, что вам нужно,

Ага, спасибо, собрал собственый распаковщик


Цитата:
вы просите других решить ваши проблемы

Теперь не буду просить.

ЗЫ: За ответ спасибо.

Автор: R3Pa4eK
Дата сообщения: 16.05.2011 18:08
vintage 1
Это надо переделывать прогресс-бар и их позицию. И не используй is7z.dll, она старая как мир. Лучше возьми 7-zip32.dll.
Автор: CTAH
Дата сообщения: 19.05.2011 13:09
Скачал последнюю версию программы, выявил что в в последней версии FreeArc есть глюк в SFX-модулях. При распаковке длинных имён больше 255 символов, программа распаковки просто зависает, причём зависает SFX как в GUI , так в варианте коммандной строке, процесс можно прервать только через диспетчер задач. Просто не везде есть возможность FreeArc поставить, а такой глюк всю картину портит.

По поводу FreeArc.
Вообще я бы обошёлся и стандартными архиваторами типа winRar и 7-zip, но я не понимаю почему в них не реализована проверка на одинаковые файлы по контрольной сумме? Допустим у меня есть 4 папки с одинаковыми файлами, в каждой папке имена файлов в разных вариантах, включая длинный вариант имени, который может достигать и 255 символов в пути и выше. FreeArc сжимает всё замечательно, т.е. одинаковые файлы находятся по контрольной сумме и соответственно по два-три-четыре раза подряд не сжимаются, как в WinRar. Только глюк в SFX всё портит. И также называть версию номером 0,666 просто глупо, имхо.
Автор: Bulat_Ziganshin
Дата сообщения: 22.05.2011 11:50
CTAH
1. freearc/sfx не поддерживает имена файлов больше 255 символов. если тебе нужно - такая поддержка точно есть в 7-zip
2. fa не умеет находить дубликаты файлов, но у него есть другие технологии для рещения этой проблемы - большой словарь и интеллектуальное расположение файлов в архиве. словарь в 7-zip можно увеличить, не знаю можно ли в нём вручную переупорядочить файлы
Автор: CDK
Дата сообщения: 22.05.2011 13:29

Цитата:
freearc/sfx не поддерживает имена файлов больше 255 символов.

Эммм... Имеется ввиду имя+расширение или полное имя? И что будет если такой файл попадется? Молча распакует "как сможет" или хоть варнинг даст?
Автор: sabio
Дата сообщения: 24.05.2011 09:17
Bulat_Ziganshin
можно ли сделать во FreeArc "инкрементальный режим"?
чтобы при создании архива можно было указать в параметрах уже существующий архив*, и чтобы в новый архив добавлялись только отличающиеся файлы (новые или изменившиеся)

думал сделать что-то такое сам, во внешнем скрипте
но там ведь получится либо список файлов - и потеряется вся структура каталогов, либо нужные файлы придётся сначала копировать в рабочую папку, что тоже не очень эффективно

или я чего-то недоглядел среди уже существующих параметров FreeArc?

* в идеале, было бы здорово иметь возможность указать несколько существующих архивов
это позволило бы реализовать многоуровневую инкрементальность ("полный архив каждый месяц, изменения относительно него каждую неделю + изменения относительно недели каждый день")
Автор: ruduk
Дата сообщения: 26.05.2011 12:05
sabio
Для GUI-версии В диалоге добавления файлов в архив на закладке "Основное" в строке "Выходной архив" выбрать существующий архив кнопкой "...", указать метод Сжатия, а потом на закладке "Архив" в строке "Режим перепаковки" выбирайте то, что вам нужно. Рекомендуется режим перепаковки по-умолчанию.
Автор: sabio
Дата сообщения: 26.05.2011 12:58
ruduk
в ком. строке тоже есть опция для обновления уже существующего архива
но дело в том, что я не хочу его обновлять - я бы хотел сохранить и исходные версии файлов, и новые

WinRAR, например, умеет добавлять в архив несколько версий одного и того же файла
вот что-то такое мне и надо, но, желательно, чтобы эти новые версии хранились не в том же самом архиве, а отдельно

т.е. в идеале должно получится что-то вроде:
backup_2011-05-23.arc ("полный" архив)
- file1.txt / 12 KB
- file2.exe / 3370 KB
- file3.doc / 200 KB

backup_2011-05-26.arc ("инкрементальный" архив, относительно backup_2011-05-23.arc)
- file2.exe / 3480 KB
- file4.dll / 123 KB
(file1.txt и file3.doc не были добавлены, потому что не изменились по сравнению с backup_2011-05-23.arc)
Автор: Bulat_Ziganshin
Дата сообщения: 26.05.2011 15:37

Цитата:
думал сделать что-то такое сам, во внешнем скрипте

какие проблемы? даёте fa список файлов, он их складывает в архив

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

видимо, надо ещё сделать вариант чтобы этот архив создавался с нуля - т.е. если в архиве есть 1.txt и архиватор обнаружил что в него надо добавить 2.txt, то этот файл добавляется в новый архив - как раз получится инкрементная упаковка. всё это технически несложно

сейчас инкрементальные архивы можно создавать за счёт атрибута Archive. как раз в gui это упоминается как инкрементальная упаковка. тебе это не подходит?
Автор: sabio
Дата сообщения: 26.05.2011 15:49
Bulat_Ziganshin

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

как раз это мне и нужно
запускаем "обновление" архива, но сохраняем все данные в (новый) архив с другим именем


Цитата:
сделать вариант чтобы этот архив создавался с нуля

хм, что-то я не улавливаю, чем это отличается от "архив создаётся как обычно но записывается в другой файл" выше?

как я понял, там речь о том, чтобы:
запускаем "обновление", указываем запись в другой файл - получаем новенький архив со всеми новыми и изменившимися файлами
что тогда значит "создавался с нуля"?


Цитата:
инкрементальные архивы можно создавать за счёт атрибута Archive

к сожалению, это не позволит выбирать, относительно чего считать "инкремент" - он всегда будет с момента предыдущей архивации
и если, например, создать полный архив в понедельник, а потом инкрементальные во вторник, среду и четверг, то для восстановления состояния "на четверг" придётся распаковать по очереди все 4 архива
в то время, как если каждый раз делать "инкремент" относительно полного, будет достаточно только двух
Автор: Bulat_Ziganshin
Дата сообщения: 26.05.2011 17:06
sabio
скажем, в архиве есть 1.txt, на диске 1.txt и 2.txt

первая команда берёт входной архив, добавляет в него 2.txt и записывает выходной архив в новый файл. по сути дела, всё отличие от обычного выполнения - в том что после удачной архивации мы не удаляем исходжный архив, а сохраняем оба

вторая команда - именно то что тебе нужно. она видит что нужно добавить 2.txt, но реально создаёт архив с нуля и в нём оказывается только 2.txt

разумеется, изменённые файлы также архивируются
Автор: sabio
Дата сообщения: 26.05.2011 19:19
Bulat_Ziganshin
теперь понял

всё верно, меня интересует именно вариант "создать с нуля"

по сути, первый вариант и так легко реализуется без всяких доп. параметров: копируем исходный архив с новым именем и запускаем обновление уже этой новой копии
Автор: ruduk
Дата сообщения: 27.05.2011 08:59
Bulat_Ziganshin

Цитата:
т.е. если в архиве есть 1.txt и архиватор обнаружил что в него надо добавить 2.txt, то этот файл добавляется в новый архив - как раз получится инкрементная упаковка. всё это технически несложно

А нужно будет указывать метод сжатия для "второго варианта" или есть возможность прочитать метод сжатия из исходного архива?
Автор: Bulat_Ziganshin
Дата сообщения: 27.05.2011 09:11
ruduk
метод сжатия в любом случае указывается в комстроке
Автор: ndch
Дата сообщения: 27.05.2011 10:48
Bulat_Ziganshin
Ради любопытства: откуда берётся http://freearc.org/ru/Statistics.aspx ?
Предвидится ли релиз 0.67 в ближайший месяц/два/три ?

Есть в планах возможность распаковки *.arc драг-н-дропом на sfx ?
Вроде бы это не очень сложно реализовать.

Т.е. что бы любой sfx-архив распаковывался файл-аргумент (C:\temp\sfx-arc.exe C:\temp\x.arc ), если он присутствует.

На данный момент ничего интересного при драг-н-дропе ничего интересного не происходит.
Автор: Bulat_Ziganshin
Дата сообщения: 27.05.2011 11:55

Цитата:
откуда берётся http://freearc.org/ru/Statistics.aspx ?

при проверке появления новых версий программа отсылает информацию о машине


Цитата:
Предвидится ли релиз 0.67 в ближайший месяц/два/три ?

как всегда


Цитата:
Есть в планах возможность распаковки *.arc драг-н-дропом на sfx ?

sfx должен сам себя распаковывать. объясни точно свой сценарий использования этого

кроме того, не согласен насчёт простоты реализации. sfx - мелкий, там чистое win api используется
Автор: ndch
Дата сообщения: 27.05.2011 12:12
Bulat_Ziganshin

Цитата:
объясни точно свой сценарий использования этого


Сценарий:
1. drag&drop мышой архив архив.arc на sfx-архив


("внутри" винда выполняет следующее: "C:\test\sfx-архив.exe" "C:\test\архив.arc"
sfx-архив.exe видит, что его запустили с аргументом и ...)

2. архив.arc распаковывается

Удобно если нечем распаковать, но есть хотя бы один sfx-архив.

Видел sfx-ы имеющие такой функционал.

Добавлено:

Цитата:
при проверке появления новых версий программа отсылает информацию о машине

Консольные и sfx-ы то не учитываются.
Автор: Bulat_Ziganshin
Дата сообщения: 27.05.2011 12:40

Цитата:
Видел sfx-ы имеющие такой функционал.

теперь понял. сделаю


Цитата:
Консольные и sfx-ы то не учитываются.

sfx и не должны - нас интересуют машины создателей архивов. над консолью подумаю

хотя мне на самом деле любая стат-ка интересна, вот только пользователи (а значит и создатели) таких архивов вряд ли этому обрадуются
Автор: egor23
Дата сообщения: 27.05.2011 13:48
Bulat_Ziganshin

Цитата:
вот только пользователи (а значит и создатели) таких архивов вряд ли этому обрадуются

запускаем архив, а он в инет ломиться
Автор: ndch
Дата сообщения: 27.05.2011 14:29
egor23
по фтп, за файлами
Автор: Shuld
Дата сообщения: 27.05.2011 17:57

Цитата:
хотя мне на самом деле любая стат-ка интересна


Вообще-то не только статистика интересна, но и корреляция.
По вашей статистике абсолютно неясно, например, бывают ли варианты компьютеров с 4-ядерным процессором и 512 МБ памяти ОДНОВРЕМЕННО.

Или, например, какая минимальная память бывает на машинах с Win7 64-разряда?
Автор: vishyakov
Дата сообщения: 28.05.2011 19:28
Можно ли сделать так, чтобы FA во все цепочки сжатия добавлял мой препроцессор, а во всех остальных отношениях вёл себя по-прежнему? Я пробовал переопределить 1t, 2t..#t, 1b..#b. А именно: взял их определения (выводимые командой print-config) добавил в каждую из них препроцессор и вписал всё это в arc.ini. Но FA проигнорировал это.
Автор: Bulat_Ziganshin
Дата сообщения: 28.05.2011 20:02
vishyakov
нет, нельзя

пример arc.ini (я использую угловые скобки вместо квадратных):

Код: <Compression methods>
m1t=pp+tor:1
Автор: vvvyg
Дата сообщения: 31.05.2011 08:55
Shuld

Цитата:
какая минимальная память бывает на машинах с Win7 64-разряда?

На ноуты предустановленную видел с 2 Гб.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275

Предыдущая тема: Punto Switcher (часть 3)


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