Shuld
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Быстрое сжатие больших объемов «Философия» Подход к линейке методов сжатия для архиваторов консервативен. Для FreeArca – это методы –m1, -m2, … , -m9 (-mex9). Хочешь быстро – используй –m1, хочешь сильно сжать – используй –m9 (-mex9). Но такая линейка «одномерна» и не очень хороша, поскольку учитывает размер файлов однобоко. Например, нет оптимального метода для «быстрого» сжатия большого объема. Конечно, можно воспользоваться –m1 (-m2), но результат будет далек от идеала. Причина – обработка больших массивов данных заложена только в «старших» (медленных) методах (большой rep). Я вижу выход в «двухмерном» подходе. От слов к делу Например, для быстрого сжатия больших объемов можно взять большой rep (от m8, mex8) и быстрый алгоритм (подобный –m2). Под «большими объемами» в таком случае будут пониматься данные размером примерно 1GB (и выше). Я долго тестировал варианты и предлагаю два «оптимальных». Эти методы по «двухмерной» идеологии я назвал –m81 и –m82. Здесь 8 означает большой объем сжимаемых данных (8rep = rep:1gb), а цифры 1 и 2 – «скоростной» и «быстрый» метод. Деление файлов на группы отсутствует. Вот результаты сравнения с методами –m2 и –mex8, отсортировано по увеличению реального времени работы: Процессор i3-530, 2 ядерный, 4 поточный, Win7 32-разрядная, ОЗУ 4 ГБ Консольная версия FreeArc 0.67 от 25 декабря 2011 Метод | time: cpu | time: real | Размер архива | Memory for compression | Memory for decompression | Папка | | | 1 212 406 221 | 1002 файла | 79 папок | -m81 | 129 c | 32.3 c | 860 419 148 | 1366mb | 1112mb | -m1 | 32 c | 35.6 c | 926 175 637 | 44mb | 45mb | -m2 | 91 c | 45.7 c | 877 927 615 | 434mb | 272mb | -m82 | 208 c | 53.8 c | 856 850 154 | 1394mb | 1112mb | WinRAR4.01 Скоростн непрер | | 78 с | 923 700 032 | | | -mex8 | 668 c | 238.4 c | 844 643 731 | 1592mb | 1599mb | WinRAR4.01 Быстрый непрер | | 308 с | 891 044 298 | | | Вот еще пример папки с инсталяторами (Office, антивирусы и пр.). Версия FreeArc 0.67 от 25 декабря 2011 с оболочкой: Метод | time: cpu | time: real | Размер архива | Memory for compression | Memory for decompression | Папка | | | 6 376 177 562 | 4026 файла | 460 папок | -m81 | | 3м 48с | 4 747 264 542 | 1366mb | 1112mb | -m1 | | 3м.57c | 5 511 489 630 | 44mb | 45mb | WinRAR4.01 Без сжатия | | 4м 30с | 6 376 662 842 | | | -m2 | | 4м 44c | 4 872 787 791 | 434mb | 272mb | -m82 | | 5м 07c | 4 736 333 869 | 1394mb | 1112mb | WinRAR4.01 Скоростной непрерыв | | 7м 32с | 5 496 079 932 | | | -mex8 | | 17м 35c | 4 696 474 471 | 1592mb | 1599mb | Результаты с двухядерным процессором E6750 (2.66GHz), WinXP 32-разрядная, ОЗУ 2 ГБ Метод | time: cpu | time: real | Размер архива | Memory for compression | Memory for decompression | Папка | | | 993 327 452 | 2074 файла | 426 папок | -m1 | ? | ?c | 439 738 292 | 27mb | 28mb | -m81 | 36c | 64.6с | 257 620 108 | 1330mb | 1077mb | -m82 | 70 | 69,2c | 252 911 976 | 1345mb | 1077mb | -m2 | 36с | 73,6c | 263 667 426 | 290mb | 202mb | WinRAR4.01 Скоростной непрерыв | | 78с | 432 316 878 | | | -mex8 | 322с | 373,2c | 236 184 463 | 1432mb | 1439mb | В методе –m1 по времени стоят вопросы из-за совсем странного (для меня) поведения. Если сжимаешь первый раз, то время 140 с. При повторных сжатиях – около 25 с. Некоторая разница есть всегда, но такую огромную разницу вижу первый раз! Это легко попробовать самому Предлагаю для скачивания arc.zip (8КБ) с файлом arc.ini: Скачать arc.zip с WebFile.RU Достаточно этот файл скопировать с заменой на существующий и все. От стандартного он отличается добавлением секции ;alt Shuld … в которой прописаны методы –m81 и –m82. Кроме того В секции ;alt Shuld есть «тюнингованные» методы –mex5 и –mex6, названные -m5alt и –m6alt. Они отличаются некоторой доработкой сжатия в группах exe и $obj без увеличения требуемого ОЗУ. Соответственно, размер сжатого файла отличается от «оригинальных» методов плюс/ минус несколько байт, а время сжатия может быть до 10% меньше. Подробнее писал здесь: http://forum.ru-board.com/topic.cgi?forum=5&topic=35164&start=280#6 Примечания Методов сжатия, оптимальных на все случаи жизни, не существует. И у указанных выше методов тоже. Смотрите и пробуйте сами. Если будет чем поделиться – пишите. Продолжение смотрите здесь: http://forum.ru-board.com/topic.cgi?forum=5&topic=35164&start=1240#7 | Всего записей: 364 | Зарегистр. 08-12-2010 | Отправлено: 18:10 30-12-2011 | Исправлено: Shuld, 22:06 25-01-2012 |
|