Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #62, ЯНВАРЬ 2006 г.

Проверка архиваторов

Данила aka xbit

Спецвыпуск: Хакер, номер #062, стр. 062-074-1


(stream@oskolnet.ru)

Обзор и испытание программ для сжатия информации

Как мы тестировали

Какие требования к архиваторам мы предъявляли? В первую очередь, коэффициент сжатия, то есть процент от сжимаемых данных, выгодный пользователю. Этот показатель — один из ключевых, так как ради сжатия мы и прибегаем к программам-архиваторам.

На втором месте по важности — скорость работы. Если софтина справляется со своей работой медленно, мы потратим несколько часов в простое системы, так что делать бэкап еще раз не захочется.

Третий критерий — удобство, то есть степень комфорта работы с архиватором. По итогам теста мы составим сравнительную таблицу характеристик, чтобы облегчить твой выбор архиватора.

Рассмотрим каждый критерий поподробнее. Коэффициент сжатия целиком зависит от типа прессуемых данных и применяемого алгоритма компрессии. Сжатие делят на два вида: с потерями и без них. В первом случае речь идет преимущественно о графике и музыке, в которых объем файла снижается за счет его качества. «Сжатие» — это, по сути, шифрование файла, благодаря которому и достигается такая большая разница в весе при сжатии текстовых данных. Алгоритмов много, все работают по-разному.

Теперь перейдем непосредственно к процессу тестирования. Для того чтобы определить эстетическую привлекательность и уровень сжатия, нам не понадобится никаких особых инструментов. Однако для измерения скорости работы софтины был использован специальный софт. Для тестирования архиваторов под Windows привлечена простенькая программа TimeCounter, которая не требует установки и обладает простым интерфейсом: указываешь имя окна, далее программа засекает время работы приложения. Мы решили не пользоваться готовым софтом под Linux, поэтому написали небольшой скрипт:

листинг

<?

function gettime()

{

$part_time = explode(' ',microtime());

$real_time = $part_time[1].substr($part_time[0],1);

return $real_time;

}

$start_time = gettime();

//-------------Запускаем архиватор----------------------

systems(tar topic.txt);

//-------------------Работа завершена-------------------

$stop_time = gettime();

$diff_time = bcsub($stop_time, $start_time,6);

echo "$diff_time";

?>

(В файле php.ini не забываем установить время выполнения скриптов более 30-ти секунд, иначе протестировать сжатие тяжелых файлов не получится.)

Теперь, когда испарились все вопросы по поводу конкретных методов тестирования, перейдем непосредственно к соревнованию на звание лучшего архиватора.

WinRAR

Один из самых крутых и почитаемых в России и во всем мире архиваторов. С этим детищем Леонида Рошаля по популярности может сравниться лишь WinZIP. Помимо обычной версии, есть и консольная. WinRAR понимает практически все известные форматы архивов. Программа не бесплатная, но и не дорогая — всего 30 у.е. Найти русификатор не проблемно: WinRAR переведен на многие языки мира, в том числе на русский. После установки программа встраивает в главное контекстное меню свои основные ярлыки, поэтому не придется каждый раз лезть в главное меню и искать там ярлыки программы, а затем разбираться в ее интерфейсе. Все основные задачи уже есть в меню. Щелкаешь по файлу или папке правой кнопкой мыши и выбираешь необходимую задачу. При упаковке данных можно задать степень сжатия архива или отключить сжатие. Помимо этого, программа позволяет защищать архивы паролем (можно указать и то, какие файлы из архива должны быть доступны, даже если пользователь не знает пароля), писать примечания, создавать автораспаковщики. С последними мы все хорошо знакомы, их преимущество перед обычными архивами в том, что для распаковки пользователь вовсе не обязан иметь архиватор. Нужно лишь указать путь, куда распакуется содержимое. Рядом с каждым пунктом находится хорошо узнаваемый значок, так что при открытии меню ярлыки WinRAR'а сразу же бросаются в глаза.

Содержание  Вперед на стр. 062-074-2