Приложения независимых разработчиков обгонят встроенную команду сортировки NT
Команда сортировки файлов ОС Windows NT не отличается ни высокой скоростью работы, ни гибкостью в использовании, чем вполне похожа на соответствующие команды других ОС. Но пользователям NT повезло - им не нужно мучиться и ждать. Как и их коллеги, работающие на мэйнфреймах и Unix-машинах и давно уже пользующиеся такими программами, пользователи NT получили возможность выбирать из нескольких усовершенствованных средств сортировки, созданных независимыми разработчиками.
Сотрудники Тестового центра PC Week Labs провели испытания четырех программ сортировки для NT, в ходе которых измерялась производительность и тестировались функциональные возможности. Как по скорости работы, так и по степени гибкости лидером оказалась программа Cosort версии 4.5 фирмы Innovative Routines International. Но и остальные продукты - NitroSort 1.0A (фирмы Opnek Research), Opt-Tech Sort 1.7z (Opt-Tech Data Processing) и Postman’s Sort 3.25 (Robert Ramey Software Development) - значительно превосходят встроенную команду NT по этим критериям.
Интерфейс пользователя (вверху) делает программу NitroSort чрезвычайно простой в использовании, а текстовый интерфейс Cosort неприятно напоминает о Unix-происхождении этой программы
Все четыре программы вполне годны на роль ключевого ингредиента, необходимого для утверждения NT в качестве вычислительной платформы уровня предприятия. Их повышенная производительность необходима при масштабировании NT-систем для работы с файлами гигабайтных объемов. И что более важно, все четыре программы оснащены средствами преобразования файлов, позволяющими интегрировать унаследованные и клиент-серверные системы.
Корпоративные разработчики смогут использовать любой из этих продуктов в качестве компонента своей собственной программы, например, выполняющей подготовку данных для помещения в хранилища данных или для крупного обновления БД, генерации отчета, создания архивной копии.
Между рассматриваемыми пакетами есть существенные различия в наборе функциональных возможностей, так что покупателям необходимо тщательно сопоставлять свои потребности с возможностями каждого пакета.
Производительность
Каждый из четырех пакетов был протестирован нами на машине с 200 МГц процессором Pentium Pro, оснащенной 64 Мб ОЗУ и работающей под управлением Windows NT 4.0. Во всех случаях время оказалось таким, какого вполне можно было бы ожидать от мини-ЭВМ или мэйнфрейма.
Например, в ходе наших испытаний встроенной команде сортировки NT потребовалось 2,73 с, чтобы переупорядочить 10 тыс. записей длиной по 180 байт каждая, и 54,66 с - на 100 тыс. таких записей. А каждая из четырех программ независимых производителей справилась с первой из этих задач менее чем за секунду, а на сортировку файла из 100 тыс. записей им потребовалось от 4 до 9 с.
Системная команда NT в ходе нашего тестирования оказалась неспособной обработать файл из миллиона записей. Приблизительно на середине операции она неизменно отказывалась продолжать работу, ссылаясь на недостаток памяти, и оставляла после себя выходной файл длиной 0 байт. В отличие от нее, все четыре тестируемые программы производства независимых разработчиков легко справились с этим заданием, затратив на его выполнение от 201 до 412 с.
Cosort финишировала первой или недалеко от первой во всех тестах. А результаты Postman’s Sort были неизменно наихудшими, за исключением задания на сортировку 100 тыс. записей, которое эта программа завершила быстрее всех.
Можно ускорить сортировку, если учитывать особенности обрабатываемых данных. Все четыре программы допускают настройку пользователем с целью увеличения производительности. Однако параметры настройки, повышающие скорость обработки одного набора данных, могут дать обратный эффект при сортировке другого. Результирующая производительность определяется комбинацией таких факторов, как тип ключа, по которому выполняется сортировка, распределение значений ключа в файле, тип и размер записи, объем файла и настройки программы.
Например, нам удалось обнаружить, что выделение программе сортировки 32 Мб памяти для обработки файла из 1 млн. записей приводит к постоянной перекачке данных между виртуальной памятью и файловой системой. Уменьшение объема отведенной памяти до 16 Мб приводило к существенному повышению производительности. На тест с 10 тыс. записей размер выделенной памяти никакого влияния не оказывал, поскольку этот файл полностью умещался в ОЗУ.
Если приложение постоянно обрабатывает сходные по характеристикам файлы, можно добиться значительного повышения производительности, затратив некоторое время на подбор оптимальных настроек. К сожалению, со всеми четырьмя тестированными программами для этого приходится прибегать к методу проб и ошибок: поиск наилучшего варианта настройки требовал от нас выполнения отдельного прогона для каждого варианта.
Многие пользователи, которым часто доводится сортировать содержимое совершенно случайных файлов, возможно, обнаружат, что лучше всего положиться на параметры настройки программы, установленные по умолчанию производителем.
Форматы файлов с фиксированной длиной записи во всех тестах обрабатывались приблизительно на 20% быстрее, чем с разделением записей специальными символами. По нашему мнению, это обусловлено тем, что в этом случае программе сортировки не приходится анализировать записи, чтобы выделить ключ.
Более сложные возможности
Достоинства протестированных пакетов не ограничиваются увеличением скорости обработки и максимального размера файлов. В этих пакетах предложен и ряд других усовершенствований, в том числе в области интерфейса пользователя и возможностей интеграции с другими программами.
Программа NitroSort оснащена графическим интерфейсом с автоматическим контролем правильности синтаксиса, что упрощает работу пользователя при сортировке случайных файлов. Cosort и Opt-Tech Sort имеют текстовый интерактивный интерфейс, а Postman’s Sort - интерфейс командной строки. Все четыре пакета включают в свой состав динамически связываемую библиотеку для 32-разрядных Windows-систем, содержащую подпрограммы, которые могут вызываться из большинства используемых под Windows языков программирования, включая PowerBuilder, Visual Basic и Cи++.
В то время как встроенная утилита сортировки NT обрабатывает только текстовые файлы, состоящие из записей фиксированной длины, все четыре рассматриваемых пакета поддерживают сортировку текстовых файлов из записей переменной длины, и все, за исключением NitroSort, обрабатывают текстовые файлы с разделителями. Программа Opt-Tech Sort, единственная из четырех, оснащена специализированной поддержкой формата dBase. Кроме того, она рассчитана также на обработку файлов систем Micro Focus фирмы Micro Focus и Realia COBOL фирмы Computer Associates International.
Наиболее широк ассортимент поддерживаемых типов файлов и данных у программы Cosort, в частности, она рассчитана на обработку многочисленных типов данных языка COBOL.
Способность Cosort обрабатывать файлы, в которых используются кодировка EBCDIC и упакованный двоично-десятичный формат чисел, делает ее идеальным средством для применения в приложениях, требующих интеграции файлов мэйнфреймов и NT-систем. Кроме того, Cosort обладает мощными функциями обработки дат, с помощью которых может выполняться модификация унаследованных файлов для их использования после 2000 г. 4
Джон Шумейт работает в крупном государственном учреждении и специализируется на конфигурациях вычислительных систем уровня предприятия. Связаться
с ним можно по адресу: 76137.2526@compuserve.com.
Джон Шумейт (для PC Week Labs)
Y:PROCESSPCWEEKREWORK.ONLHTM37RE3_20.__
Программы сортировки иного сорта