Все-таки собрался и немного потестил разные архиваторы. Результат в табличке.
Набор примеров для учебника по Lazarus (см.) | Образ диска VirtualBox | Дерево исходных кодов Free Pascal с документацией | ||||
---|---|---|---|---|---|---|
Исходный размер | 56.1M | 8.8G | 297M | |||
7z (t/size) | 20.0s (17s) | 411K | 107m (80m) | 2.8G | 3m55s (2m52s) | 125M |
tar.bz2 | 53.6s | 9.3M | 67m | 3.5G | 2m28s | 134M |
tar.xz | 30.1s | 388K | 133m | 2.8G | 4m40s | 125M |
tar.lzma | 30.0s | 387K | 132m | 2.8G | 4m45s | 125M |
tar.lz | 44.5s | 388K | 168m | 2.8G | 7m7s | 125M |
tar.7z | 21.1s (20s) | 392K | 107m | 2.8G | 4m22s | 125M |
Поясню: время в таблице — это «user time», которое представляется единственно адекватным сравнению именно упаковщиков, а не состояния системы в процессе. В скобках же указано время «real», в том случае, если оно оказалось меньше «user». Насколько я могу судить, это однозначно свидетельствует о том, что 7-zip задействовал для работы второе ядро. Правда, отсутствие таких ситуаций у других программ сжатия еще ни о чем не говорит — я не выделял для тестирования какого-то особого времени, а параллельно использовал компьютер в обычном режиме — с существенной, а главное — очень неравномерной нагрузкой…
Для тестирования я использовал следующий примитивный скрипт:
Какие можно сделать выводы?
-
Результаты по первому набору данных не тождественны тем, которые у меня получались при использовании упаковки через контекстное меню Konqueror’а. Судя по всему, tar использует максимальное сжатие, в отличие от.
-
Результаты современных архиваторов очень близки друг к другу. 7-zip немного хуже сжимает, однако делает это заметно быстрее. Возможно, все дело вообще в настройках по-умолчанию.
-
«Устаревший» BZip2 работает заметно быстрее более новых форматов, за исключением все того же особого случая с примерами. Как вариант для бэкапов я лично его в своем активе оставлю — иногда время тоже бывает существенным.
-
Хуже всего со временем у формата lzip при отсутствии сколь-нибудь заметного преимущества в степени сжатия. И, надо заметить, из рассмотренных он, пожалуй, наименее популярен.