1. Лэптоп, процессор Pentium с частотой 1 ГГц, ОС Windows 2000 Professional.
2. Лэптоп, процессор Intel Celeron с частотой 2 ГГц, ОС Windows XP.
3. PC с процессором Pentium, ОС Windows 2000.
4. Четырехпроцессорная система Windows 2000 Server с ОС NT 5.0. В качестве процессоров были использованы четыре процессора Intel Xeon с частотой 1,8 ГГц. Эта система позволила исследовать, насколько увеличиваются показатели производительности в результате применения нескольких высокопроизводительных процессоров.
В примерах, связанных с обработкой файлов, представлены также результаты, полученные на устаревшей NT-системе на основе PC, в которой использовался процессор Pentium III с частотой 500 МГц, что позволило сравнить между собой показатели производительности для файловых систем FAT и NTFS, хотя файловая система FAT уже не так распространена, как прежде. Во всех случаях файловые системы были заполнены не более чем на 50% и характеризовались лишь незначительной фрагментацией.
Во время проведения тестов никакие другие задачи, кроме тестовых программ, на системах не выполнялись. Неплохим показателем относительного быстродействия процессоров могут служить результаты, полученные, в частности, при выполнении таких программ, как программы сортировки, интенсивно использующие процессор.
Измерение производительности
Каждое приложение выполнялось на хост-системе по пять раз. Перед каждым запуском приложения физическая память очищалась, чтобы исключить повышение показателей производительности за счет файлов и программ, кэшированных в памяти или файлах подкачки. В представленных в последующих разделах таблицах приведены усредненные данные. Время измеряется в секундах.
Каждая таблица сопровождается комментариями. Вполне очевидно, что делать какие-либо обобщенные выводы в отношении производительности довольно рискованно, поскольку на временные характеристики производительности программ оказывают влияние самые разнообразные факторы, включая свойства самих программ. В то же время, такие тесты позволяют выявлять некоторые закономерности и исследовать изменение производительности в зависимости от использования тех или иных файловых и операционных систем или тех или иных методик программирования. Кроме того, необходимо иметь в виду, что в процессе тестирования измеряется время, прошедшее с момента начала выполнения программы до ее завершения, но не учитывается время, необходимое системе для сброса содержимого буферов на диск. Наконец, при проведении тестов никаких попыток воспользоваться специфическими возможностями или параметрами системы, как то использование разделенных на полосы дисков, варьирование размеров блоков данных при обмене с дисками, разбиение дисков на несколько разделов и тому подобное, не предпринималось.
Монитор производительности Windows, доступный через пиктограмму Administrative Tools (Администрирование), находящуюся в панели управления, отображает данные о работе процессора, ядра, пользовательских и других процессов в графическом виде. Это средство предоставляет отличные дополнительные возможности для изучения свойств программ помимо тех, которые обеспечиваются приведенными здесь результатами измерений.
Полученные результаты указывают на варьирование производительности в широких пределах в зависимости от используемых ЦП, файловой системы, дисковой конфигурации, особенностей программы, а также множества других факторов. Все программы, применяемые для проведения необходимых измерений, находятся на Web-сайте книги, что дает вам возможность самостоятельно выполнить эти тесты на своей системе.
Пять различных вариантов реализации программ копирования файлов использовались для копирования файла размером 25,6 Мбайт (400 000 записей размером 64 байта каждая, сгенерированных с помощью программы RandFile из главы 5). В первых двух столбцах табл. В.1 представлены результаты, полученные на лэптопе (LT) устаревшей модели, в котором установлен процессор Pentium с частотой 500 МГц, что позволяет сопоставить между собой показатели производительности в случае файловых систем NTFS и FAT.
1. Программа cpC (программа 1.1) использует библиотеку С. В этом тесте измеряется эффект варианта реализации, выполняющегося поверх Windows, хотя библиотека и предоставляет возможность использования эффективной буферизации или применения других методик.
2. Программа cpW (программа 1.2) является реализацией, в которой используются непосредственно средства Windows с буфером небольшого размера (256 байт).
Читать дальше