Shuld
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Детектив С ног на голову В котором принять участие может каждый. Глава 1. Введение Ранее я предлагал методы –m81 и –m82 для быстрого сжатия большого объема информации: http://forum.ru-board.com/topic.cgi?forum=5&topic=35164&start=1100#10 [?] Можно было продолжить работу и сделать методы –m83 и далее, но мне казалась, что в этом мало смысла. Скорее «для галочки», чем для дела я все-таки довел линейку до –m88. В этой нумерации первая цифра 8 означает использование 8rep или rep:1g, а вторая – примерное соответствие «стандартному» методу с моей поправкой на «оптимизацию». Т.е. метод –m86 является примерным аналогом –mex6. Скачать файл arc.ini с методами –m81…-m88 в архиве можно здесь: Скачать arc2012-01-25.zip с WebFile.RU, и заменить стандартный в папке с arc.exe. (Все методы проверялись на компьютере с 4-поточным процессором, часть – на 2-х ядерном, как поведет себя на 8-ми ядерном – не знаю). Глава 2. Завязка Важным моментом является то, что в методах –m81…-m88 нет деления на группы файлов. Казалось, что это должно привести к ухудшению по сравнению со «стандартными» методами, использующими специализированные методы для различных групп файлов. И вот тут-то начинаются чудеса! Глава 3. Что лучше? Наиболее корректно проводить сравнение на методах –m88 и –mex8, поскольку у них одинаковый rep и одинаковый основной метод сжатия lzma:32m. Разница именно в отсутствии/наличии деления на группы файлов. Я протестировал многие папки на своем компьютере и результаты (без купюр!) выкладываю далее, в порядке увеличения размера испытуемой папки. Все папки не какие-то условные, а мои рабочие, для которых я делаю резервные копии. Метод | Размер, байт | Время, с | (Папка 1) | (240,542,287) | - | -m88 | 167 309 681 | 35.94 | -mex8 | 166 919 720 | 46.01 | (Папка 2) | (430 097 775) | - | -m88 | 248 081 284 | 102.46 | -mex8 | 246 991 434 | 120.79 | (Папка 3) | (537 864 577) | - | -m88 | 306 637 773 | 70.73 | -mex8 | 306 808 139 | 82.95 | (Папка 4) | (584 071 642) | - | -m88 | 418 272 148 | 98,87 | -mex8 | 419 791 942 | 158,68 | (Папка 5) | (676 279 425) | - | -m88 | 442 413 972 | 96,37 | -mex8 | 444 560 475 | 137,66 | (Папка 6) | (757 517 055) | - | -m88 | 419 622 660 | 110,92 | -mex8 | 420 907 358 | 131,66 | (Папка 7) | (758 272 286) | - | -m88 | 602 851 866 | 127,32 | -mex8 | 605 163 643 | 166,63 | (Папка 8) | (1,035,133,598) | - | -m88 | 828 516 800 | 169,99 | -mex8 | 829 959 844 | 184,15 | (Папка 9) | (1 098 114 291) | - | -m88 | 632 727 408 | 163,35 | -mex8 | 633 345 251 | 203,66 | Сразу видно, что метод –mex8 всегда сжимает дольше, а как насчет сжатия? Преимущество только для двух самых маленьких папок. Для всех остальных, т.е. для папок размером более 500 МБ, метод –m88 сжимает лучше. И быстрее. Глава 4. Следственный эксперимент До прибытия команды знатоков, руководимых Булатом, проведем маленький следственный эксперимент своими руками. Возьмем текстовый файл enwik8 длиной 100 000 000 байт, получается следующее: Метод | Размер, байт | Время, с | (enwik8) | (100,000,000) | - | -m88 | 25 911 554 | 46,72 | -mex8 | 22 695 574 | 34,58 | Полная победа специализированных методов сжатия, т.е. –mex8. Разница в размерах около 3 МБ. Теперь рассмотрим папку 2 размером около 430 МБ. В ней – половина текстовых файлов, среди которых есть уже протестированный файл enwik8, занимающий примерно 23% от общего объема. Метод | Размер, байт | Время, с | (Папка 2) | (430 097 775) | - | -m88 | 248 081 284 | 102.46 | -mex8 | 246 991 434 | 120.79 | Метод –mex8 по прежнему побеждает по сжатию, но разница «съеживается» до 1 МБ. А теперь возьмем «дважды папку 2»: Метод | Размер, байт | Время, с | (Папка 2)х2 | (860,195,550) | - | -m88 | 248 024 953 | 109,87 | -mex8 | 279 209 100 | 179,90 | Здесь метод –mex8 не только не сохранил лидерства по сжатию, но уступил 31 МБ! А метод –m88 сжал так же, даже лучше. Почему? Специализированный метод сжатия ppmd сжимает тексты очень хорошо, но ищет повторы на сравнительно коротком расстоянии. Rep не может сжимать файл enwik8 так же хорошо как ppmd, но умеет искать случайные повторы фрагментов этого файла с другими файлами на очень большом расстоянии, что при большом количестве данных позволяет получить результат лучше! Глава 5. А был ли мальчик? Может у меня компьютер «неправильный»? И все данные уникальны только для него? Найдется ли у вас полчаса-час времени на пару-тройку экспериментов, чтобы сравнить –mex8 и –m88. Напишите, какие размеры и время получаются у вас. Не забывайте, что этим методам нужно много памяти, и лучше все Word-ы и Excel-и закрыть. Глава 6. Что дальше? Если про меня, то мне надо закончить сравнение новых rep-в (от 11 и 14 января). Там есть чуть-чуть интересного. А еще хочу рассказать про причуды метода tor:3. Если говорить про эту тему, то может есть смысл продолжить тестирование для объемов несколько ГБ? Вполне возможно, что при очень больших размерах данных (десятки ГБ), для которых размеры rep будут сравнительно малы, специализированные методы опять станут лучше. А может сделать аналоги методов –mex9 и –mx? Вполне возможно, что для больших размеров файлов тоже можно получить выигрыш в размерах и времени. В случае, если описанные в «детективе» закономерности подтвердятся, то может будет смысл после использования специализированных методов ставить rep? Или разрабатывать специализированный rep? | Всего записей: 364 | Зарегистр. 08-12-2010 | Отправлено: 19:24 23-01-2012 | Исправлено: Shuld, 21:22 25-01-2012 |
|