Главная

Статьи

Порівняння ступеня стиснення популярних архіваторів

Ця робота була надіслана на наш "Безстроковий" конкурс статей і є значно переробленим варіантом статті "Коротке порівняння архиваторов" того ж автора. Робота отримала приз - відеокарту Chaintech GeForce FX 5600XT 128 МБ >, Надану для нашого призового фонду компанією Chaintech .

Головною метою цієї статті є вибір найбільш оптимального архиватора з високим ступенем стиснення різних реальних даних великого обсягу. У тестуванні брали участь: найпоширеніший і один з найстаріших ZIP, популярні архіватори ACE, RAR, 7-zip. Крім того, були протестовані деякі перспективні архіватори. Більшість з них є експериментальними, мають низьку швидкістю архівування та розархівування, вимагають багато оперативної пам'яті, мають помилки. Наприклад, не вдалося стиснути всі тестові дані за допомогою Slim 0.021 (помилка програми), який показав дуже гарні результати, швидкість PAQ6 v2 досягала 15 КБ / с. У підсумку були обрані Compressia 1.0b, EPM r9, PAQ6 v2, RKC 1.02, які на даний момент є одними з кращих.


Варто відзначити, що в рейтингу www.maximumcompression.com , EPM r9, PAQ6 v2, RKC 1.02, Compressia 1.0b стискають краще, ніж 7-zip 3.13, WinRAR 3.30b5 на 10%, а різниця між 7-zip 3.13 і WinRAR 3.30b5 близько 3%.

Кожен з протестованих архиваторов володіє рядом налаштувань, змінюючи які, можна управляти ступенем стиснення і швидкістю в широких межах. Тестування проводилося в режимах norm і max. RAR додатково тестувався в режимі fastest (максимальної швидкості). Compressia, EPM, RKС, PAQ6 - тільки в режимі max. Для режиму norm вибиралися пропоновані середні установки, для режиму max - дають максимальну ступінь стиснення. Всі додаткові настройки встановлювалися в значення, що дають в середньому краще стиснення на тестовій системі, або, якщо можливо, в авто. Зокрема, 7-zip, EPM r9, RKC 1.02, PAQ6 v2 налаштовувалися на використання близько 400 МБ оперативної пам'яті в max режимах. Для режиму fastest все настройки встановлювалися на максимальну швидкість, фільтри відключалися, параметр Solid = on (на швидкість не впливає). Незважаючи на те, що для кожного виду даних існують свої оптимальні настройки, які іноді дають суттєвий приріст ступеня стиснення, тестування проводилося з єдиними настройками. Це зроблено для відображення реальних ситуацій, при яких буває необхідно заархівувати папку з різними типами даними.


Пошук оптимального співвідношення між ступенем стиснення і швидкістю - це предмет окремого дослідження. Крім того, це співвідношення не має чітких меж і сильно залежить як від системи, на якій проводиться архівування, так і від вихідних даних. Можна навести такий приклад: в max режимі при архівації "Інсталяція Office XP" швидкість 7-zip в 3 рази вище Compressia, а при архівації "База даних 1С: Підприємство" швидкість 7-zip в 9 разів нижче Compressia. У даній статті основний акцент зроблено на ступінь стиснення.

В якості тестових даних використовувалися великі обсяги реальних неоднорідних даних. Виняток становить "Документи Word, Excel". Більше 9 МБ реальних "середніх" документів знайти не вдалося, а тестувати документи по 13 МБ, в основному складаються з відсканованих і нестискуваних зображень, неправильно. Додатково була додана книга TICSharp.DOC (11 МБ) з невеликими ілюстраціями.


Якщо необхідні результати стиснення виключно текстів, програм, зображень, звуку, то краще пошукати в Інтернеті відповідні тестування, наприклад на www.maximumcompression.com , www.compressio.ru , arctest.narod.ru .

Тестувалися такі архіватори:


ZIP.

Є найстарішим і найпоширенішим архиватором. Це майже стандарт. Переваги - висока швидкість, поширеність, сумісність і безкоштовність. Недоліки - низький рівень стиснення, обмеженою функціональністю.

Використовувався вбудований в Total Commander 6.0 архіватор. Незважаючи на те, що Total Commander є shareware, сам формат ZIP безкоштовний. Існує багато безкоштовних програм, які архівують в формат ZIP, наприклад 7-zip. Варто зазначити, що кожна реалізація ZIP може мати швидкість і ступінь стиснення, що відрізняється від реалізації ZIP в Total Commander 6.0. Наприклад, 7-zip архівує в ZIP з більш високим ступенем стиснення, але значно повільніше.

В Total Commander 6.0 також є підтримка формату TGZ (настройка Packer TGZ) який є своєрідним Solid (безперервним архівом) варіантом ZIP (GZIP). Використання TGZ може дати значне поліпшення стиснення на великій кількості невеликих файлів (на тестових даних "Текст у форматі HTML" - 60% від ZIP norm), але володіє таким недоліком - Total Commander 6.0 бачить архів TGZ як заархівований TAR, в результаті для розпакування необхідно спочатку розпакувати TAR, а потім вже вміст архіву. За швидкістю і ступеня стиснення одного файлу TGZ дорівнює ZIP norm.

Налаштування для тестування:

  • ZIP norm - настройка normal compression (6).
  • ZIP max - настройка maximum compression (9).

ACE 2 www.winace.com. До виходу RAR 2.9 був істотно краще RAR 2.0. Переваги - висока функціональність, ступінь стиснення і швидкість. Недоліки - платний.

Використовувався WinACE 2.5. Налаштування для тестування:

  • ACE norm - настройка Level = normal, Solid = on, V2.0 = on, Dictionary = 4096 Кб.
  • ACE max - настройка Level = best, Solid = on, V2.0 = on, Dictionary = 4096 Кб.

RAR 2.9 www.rarlab.com . Переваги - висока функціональність, ступінь стиснення і швидкість, поширеність. Недоліки - платний.

Використовувався WinRAR 3.30 beta 5. У порівнянні з попередньою версією 3.11 ступінь стиснення незначно збільшилася на всіх видах даних, для тексту приріст трохи більше (ймовірно, через поліпшення в автоматичному визначенні параметрів стиснення).

Налаштування для тестування:

  • RAR fastest - настройка Compression method = fastest, Solid = on, Advanced compression parameters = все вимкнено, Dictionary = 64 КБ.
  • RAR norm - настройка Compression method = normal, Solid = on, Advanced compression parameters = все включено або авто, Dictionary = 4096 Кб.
  • RAR max - настройка Compression method = best, Solid = on, Advanced compression parameters = все включено або авто, Text compression memory to use = 128 МБ, Dictionary = 4096 Кб.

7-zip 3.12 www.7-zip.org. Переваги - висока ступінь стиснення, безкоштовність. Недоліки - низька функціональність у порівнянні з RAR. Для 7zip PPMd швидкість і вимоги до оперативної пам'яті однакові під час архівування та розархівування.

Використовувався 7-zip 3.12. Налаштування для тестування:

  • 7zip norm - настройка Compression level = normal, Compression method = LZMA, Dictionary = 2 МБ, Word size = 32, Solid = on.
  • 7zip max - настройка Compression level = ultra, Compression method = LZMA, Dictionary = 32 МБ, Word size = 255, Solid = on.
  • 7zip PPMd - настройка Compression level = ultra, Compression method = PPMd, Dictionary = 384 МБ, Word size = 20, Solid = on.

Compressia www.compressia.com . Переваги - один з найкращих за ступенем стиснення архіваторів. Недоліки - сильно обмежена функціональність, тільки GUI версія, низька швидкість, швидкість і вимоги до оперативної пам'яті однакові під час архівування та розархівування, платний.

Використовувався Compressia v1.0 beta. Налаштування для тестування:

  • Compressia - настройки Use solid blocks = on, Maximum compression = on, Use English option = off, Block size = 15 МБ.

EPM www.thepipe.kiev.ua. Переваги - один з найкращих за ступенем стиснення архіваторів. Недоліки - низька швидкість, швидкість і вимоги до оперативної пам'яті однакові під час архівування та розархівування, для високого ступеня стиснення необхідно відносно багато оперативної пам'яті.

Використовувався EMP r9. EMP r9 - це не повноцінний архіватор, а експериментальна версія для відпрацювання алгоритмів, стискає тільки один файл. Для тестування використовувалися тестові дані, скомпоновані в один файл за допомогою 7-zip store. Через це ступінь стиснення могла трохи погіршитися в порівнянні з повноцінною реалізацією Solid режиму (в межах пари відсотків).

Налаштування для тестування:

  • EMP max - параметри командного рядка -m420.

RKC www.msoftware.co.nz . Переваги - один з найкращих за ступенем стиснення архіваторів. Недоліки - низька швидкість, швидкість і вимоги до оперативної пам'яті однакові під час архівування та розархівування, для високого ступеня стиснення необхідно відносно багато оперативної пам'яті. В кінці лютого 2004 очікується вихід повноцінного архіватора WinRK.

Використовувався RKC 1.02. RKC 1.02 - це не повноцінний архіватор, а експериментальна версія для відпрацювання алгоритмів, стискає тільки один файл. Для тестування використовувалися тестові дані, скомпоновані в один файл за допомогою 7-zip store. Через це ступінь стиснення могла трохи погіршитися в порівнянні з повноцінною реалізацією Solid режиму (в межах пари відсотків). Опція analysis вимкнена, тому що при її включенні на деяких даних програма не працює.

Налаштування для тестування:

  • RKC max - параметри командного рядка -M420m -mxx -o16 -n + -r + -a-.

PAQ6 www.cs.fit.edu/~mmahoney/compression . Переваги - один з найкращих за ступенем стиснення архіваторів. Недоліки - дуже низька швидкість, швидкість і вимоги до оперативної пам'яті однакові під час архівування та розархівування, для високого ступеня стиснення необхідно відносно багато оперативної пам'яті.

Використовувався PAQ6 v2. PAQ6 v2 - це не повноцінний архіватор, а експериментальна версія для відпрацювання алгоритмів, може стискати кілька файлів. Для тестування використовувалися тестові дані, скомпоновані в один файл за допомогою 7-zip store. Через це ступінь стиснення могла трохи погіршитися в порівнянні з повноцінною реалізацією Solid режиму (в межах пари відсотків).

Налаштування для тестування:

  • PAQ6 max - параметри командного рядка -7.

Для тестування використовувалися наступні добре стискають дані:

  • Документи Word, Excel - набір невеликих документів (договори, акти - 9 МБ) і книга TICSharp (11 МБ). Книга TICSharp є "незручною" для архіваторів. Це обумовлено характерною структурою DOC файлу - текстові блоки чергуються з нестисливими картинками. Всього 20 МБ, 138 файлів.
  • Текст у форматі HTML - вміст JAVA SDK 1.3.1. Являє собою велику кількість невеликих файлів HTML, тому ZIP, який не підтримує Solid режим, показав майже в 2 рази гірший результат. Цей набір даних не є повноцінним текстом, т. К. Містить багато тегів HTML і пару мегабайт нестискуваних файлів. Всього 109 МБ, 6226 файлів.
  • Інсталяція Office XP - вміст інсталяційного файлу CAB. Близько 120 МБ займають файли EXE, DLL, OCX. Всього 391 МБ, 1865 файлів
  • Гра Counter-Strike - вміст папки Half-Life з встановленим Counter-Strike. Всього 770 МБ, 3113 файлів.
  • База даних 1С: Підприємство - вміст резервної копії бази даних (DBF-формат без індексів, з конфігурацією). Всього 189 МБ, 340 файлів.

Тестування проводилося на системі: CPU Athlon 2000 МГц, MB nForce2, RAM 512 МБ, HDD WD400JB, OS Windows 2000. Слід враховувати, що на аналогічних Pentium системах швидкість стиснення може сильно відрізнятися.

Що можна архівувати?

Добре стискаються майже всі попередньо не стисло дані, наприклад, програмні файли, тексти, бази даних, прості стиснені зображення. Обмежено стискаються незжатий звук (WAV), складні стиснені зображення (BMP). Чи не стискаються (стиснення в межах пари відсотків за рахунок службових тегів і, можливо, невеликий надмірності) майже всі вже стислі дані, наприклад, архіви (ZIP, CAB), стисла графіка і відео (JPG, GIF, AVI, MPG), стислий звук (MP3).

Для прикладу можна розглянути папку з грою Prince Of Persia. Із загальної обєм 1400 МБ, 550 МБ - це нестисливої ​​відео, 330 МБ - обмежено стискається звук. Гра стискається до 1008 МБ. При стисненні різними архиваторами, різниця буде тільки за рахунок стискаються 520 МБ, в меншій мірі за рахунок 330 МБ звуку. Таким чином, відносні результати будуть "змазані" нестисливим відео.

Для стиснення деяких специфічних даних (текст, стиснені зображення, нестислий звук) існують спеціалізовані архіватори, які забезпечують кілька кращу ступінь стиснення і значно більш високу швидкість, ніж універсальні архіватори.

Результати тестів:

Ця робота була надіслана на наш   Безстроковий конкурс статей   і є значно переробленим варіантом статті   Коротке порівняння архиваторов   того ж автора

підсумки:

Незважаючи на низький ступінь стиснення, ZIP norm володіє найвищою швидкістю (швидше RAR fastest в 2 рази). Його можна використовувати на повільних машинах або для оперативного архівування.

RAR і ACE приблизно рівні, з невеликою перевагою у RAR. Їх можна рекомендувати тільки через додаткової функціональності (наприклад, розбивка архіву на частини, запис додаткової інформації для відновлення при пошкодженні архіву). За ступенем стиснення вони поступаються 7-zip. На деяких наборах даних різниця значна. В max режимі розмір архіву RAR більше 7-zip від 5% до 34%, в середньому на 18%.

7-zip не є лідером в ступені стиснення і має низьку швидкість в max режимі. У порівнянні з PAQ6, розмір архіву 7-zip більше від 2% до 23%, в середньому на 13%. Різниця з результатами Compressia, EPM, RKC незначна або навіть відрізняється в кращу сторону. На відміну від цих архіваторів, швидкість розпакування 7-zip (за винятком режиму PPMd) значно вище швидкості архівування. Вимоги до оперативної пам'яті під час розпакування невеликі. Низька швидкість в max режимі все ж значно вище, ніж швидкість PAQ6 (в 10 разів). 7-zip може працювати, використовуючи 2 потоку, що дає значне підвищення швидкості на мультипроцесорних системах або на системах з Hyper-Threading. З урахуванням регулярного оновлення та безоплатності, 7-zip є найбільш оптимальним вибором для сучасних систем. У списку найближчих його змін - розбивка архіву на частини, запис додаткової інформації для відновлення при пошкодженні архіву.

З перспективних архиваторов варто відзначити RKC, точніше WinRK www.msoftware.co.nz , Який вийде в кінці лютого 2004 року. Він повинен володіти не тільки кращої ступенем стиснення в порівнянні з 7-zip, але і зручною графічною оболонкою. Головний недолік - для хорошого стиснення необхідно багато оперативної пам'яті, швидкість і вимоги до оперативної пам'яті однакові під час архівування та розархівування.

PAQ6 показав найкращу ступінь стиснення зі значним відривом від конкурентів. Але практично використовувати його можуть тільки екстремали через дуже низьку швидкість (17 КБ / с). Незважаючи на хороші результати на великих обсягах неоднорідних даних, проведене міні-тестування зі стиснення одного файлу (1Cv7.MD.rpk, 7 МБ) показало, що RKC впорався зі стисненням на 1%, EPM на 4%, а Slim 0.021 slim-fb .by.ru на 8% краще PAQ6 (7-zip на 20% гірше).

Подальше збільшення ступеня стиснення архіваторів сильно обмежена можливістю сучасних комп'ютерів. Навіть успіхи 7-zip на тлі RAR досягнуті за рахунок зменшення швидкості. Більш того, практична реалізація ефективних PPM алгоритмів, використовуваних RKC, PAQ, EPM, була обумовлена ​​істотним підвищенням продуктивності комп'ютерів в останні роки. Тому не слід найближчим часом чекати появи архиваторов, які при високій швидкості показували б ступінь стиснення значно вище розглянутих.

Результати проведеного тестування відрізняються від рейтингу www.maximumcompression.com . Це зайвий раз підкреслює, що результати сильно залежать від вихідних даних і параметрів стиснення.

Що можна архівувати?

Новости