Чтение онлайн

на главную - закладки

Жанры

Системное программирование в среде Windows

Харт Джонсон М.

Шрифт:

4. Программа cpCF (программа 1.3) использует функцию Windows CopyFile для выяснения того, является ли реализация, ограничивающаяся единственным системным вызовом, более эффективной по сравнению с другими методиками.

5. Программа cpUC (программа 1.1) — реализация в стиле UNIX, использующая буфер небольшого размера (аналогично программе cpW). Эта программа была незначительно изменена, чтобы обеспечить возможность использования библиотеки совместимости с UNIX, входящей в состав Visual C++.

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

ряд) среднее значение истекшего времени в третьем столбце данных (Pentium LT, W2000) составило 7,77 секунды, тогда как минимальное и максимальное значения составляли соответственно 1,87 и 11,71 секунды. Такая широкая вариация значений была типичной почти во всех случаях и на всех системах.

Комментарии

1. Применение файловой системы NTFS вовсе не гарантирует лучшую по сравнению с системой FAT производительность. Более того, иногда более быстрой оказывается именно FAT, в чем можно убедиться, сравнивая данные, приведенные в столбцах 1 и 2.

2. Библиотеки совместимости С и UNIX обеспечивают сопоставимую производительность, которая во многих случаях превосходит производительность простейших вариантов реализации, использующих средства Windows.

3. Процессорное время, потребляемое как функциями ядра ("Системное время"), так и пользовательскими функциями ("Пользовательское время"), является минимальным. Следовательно, быстродействие процессора оказывает лишь самое незначительное влияние на производительность, оцениваемую по истекшему времени.

4. Как и следовало ожидать, высокопроизводительные серверные SMP-системы действительно обеспечивают гораздо более быструю обработку файлов, чем лэптопы и PC. Дополнительные тесты, выполненные в системе Windows Server 2003, обладающей еще более высоким быстродействием, показали еще лучшие результаты (здесь они не представлены), причем значения истекшего времени оказались примерно в два раза меньшими по сравнению со значениями, приведенными в крайнем справа столбце таблицы.

5. Использование буферов большого размера, флагов последовательной обработки или функции CopyFile не обеспечивают систематического или существенного выигрыша в производительности, оцениваемой по истекшему времени. Вместе с тем, весьма небольшие значения показателей пользовательского времени для программ cpwFA и cpCF представляют интерес, и этим можно воспользоваться в некоторых ситуациях, даже если показатели истекшего времени при этом не улучшатся. Одна из систем, а именно, лэптоп с процессором Pentium, не подходит под данное обобщение. Как ранее уже отмечалось, процессорное время составляет лишь небольшую долю истекшего времени.

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

Таблица В.1. Показатели производительности программ копирования файлов

Поделиться:
Популярные книги

Архил...? Книга 2

Кожевников Павел
2. Архил...?
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Архил...? Книга 2

Кодекс Крови. Книга ХVIII

Борзых М.
18. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVIII

Бракованная невеста. Академия драконов

Милославская Анастасия
Фантастика:
фэнтези
сказочная фантастика
5.00
рейтинг книги
Бракованная невеста. Академия драконов

Неудержимый. Книга XXIV

Боярский Андрей
24. Неудержимый
Фантастика:
попаданцы
фэнтези
фантастика: прочее
5.00
рейтинг книги
Неудержимый. Книга XXIV

Идеальный мир для Лекаря 26

Сапфир Олег
26. Лекарь
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 26

Сами мы не местные

Жукова Юлия Борисовна
2. Замуж с осложнениями
Фантастика:
юмористическая фантастика
космическая фантастика
9.35
рейтинг книги
Сами мы не местные

Невеста

Вудворт Франциска
Любовные романы:
любовно-фантастические романы
эро литература
8.54
рейтинг книги
Невеста

Трактир «Разбитые надежды»

Свержин Владимир Игоревич
1. Трактир "Разбитые надежды"
Фантастика:
боевая фантастика
7.69
рейтинг книги
Трактир «Разбитые надежды»

Идеальный мир для Лекаря 18

Сапфир Олег
18. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 18

Изгой Проклятого Клана. Том 2

Пламенев Владимир
2. Изгой
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Изгой Проклятого Клана. Том 2

Имперец. Том 1 и Том 2

Романов Михаил Яковлевич
1. Имперец
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Имперец. Том 1 и Том 2

Офицер

Земляной Андрей Борисович
1. Офицер
Фантастика:
боевая фантастика
7.21
рейтинг книги
Офицер

Князь Серединного мира

Земляной Андрей Борисович
4. Страж
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Князь Серединного мира

Восхитительная ведьма

Джейн Анна
1. Восхитительная ведьма
Любовные романы:
современные любовные романы
4.67
рейтинг книги
Восхитительная ведьма
ЦП Pentium III Pentium III Pentium LT Celeron LT Xeon 4×Xeon
ОС W2000 W2000 W2000 XP W2000 W2000
Файловая система FAT NTFS NTFS NTFS NTFS NTFS
cpC Реальное время 8,62 14,69 12,75 7,23 6,03 2,67
Пользовательское
время
0,12 0,12 0,10 0,10 0,09 0,06
Системное время 0,24 0,52 1,39 0,39 0,25 0,36
cpW Реальное время 8,49 13,35 25,48 7,10 8,94 2,95
Пользовательское время 0,13 0,12 0,06 0,04 0,04 0,13
Системное время 0,88 1,37 4,61 0,62 0,56 0,13
cpwFA Реальное время 8,35 12,59 7,35 8,25 9,10 2,36
Пользовательское время 0,01 0,02 0,03 0,01 0,01 0,02
Системное время 0,40 0,50 0,82 0,29 0,20 0,19
cpCF Реальное время 8,00 11,69 2,57 6,50 7,62 2,97
Пользовательское время 0,02 0,01 0,02 0,02 0,01 0,02
Системное время 0,19 0,25 0,53 0,19 0,12 0,17
cpUC Реальное время 7,84 13,14 21,01 9,98 7,77 3,53
Пользовательское время 0,72 0,66 0,47 0,34 0,34 0,42
Системное время 0,40 0,67 3,12 0,34 0,36 0,41