mpd

Арифметика потоковых архиваторов.

Jan 12, 2008 04:02

Вторая часть: https://mpd.livejournal.com/168495.html

К сожалению, не для всех интуитивно понятно, что потоковые архиваторы не такие уж и крутые в плане сжатия, что можно сжимать ещё лучше, что есть ещё "место подвигу".
Недавно был в гостях у itman, где один из гостей был удивлён этой мыслью (не знаю, насколько серьёзно).
А доказать сей факт очень просто в комнатных условиях подручными средствами.
И так, нам понадобится:
  • ваш любимый архиватор
  • файл, который после сжатия вашим архиватором > 3Mb
  • любой метод, который позволяет объединять файлы в любой последовательности, записывая результат в отдельный файл
  • любой метод, который позволяет просматривать размеры файлов
Возьмём файл А. Архивируем его.
Теперь из исходного файла делаем второй, который образует последовательность А-А, и архивируем его.
По размерам архивированных файлов А и А-А вы легко сделаете вывод, что архиватор не увидел в силу ограниченности своего словаря, что содержимое файла А встречается в потоке А-А два раза.

Мой пример на моём компьютере в цифрах:

файлисходный размер, байт bzip2 -9 gzip -9 rar a -m5 -md4096
А 8677260 (x2=17354520) 3535871 (x2=7071742) 3639236 (x2=7278472) 3034022 (x2=6068044)
А-А 17354520 7098514 7279949 6003159

Обратные ссылки: http://v-shabanoff.livejournal.com/13612.html
Дайджест всего блога '11

freesoftware, compress

Previous post Next post
Up