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

на главную

Жанры

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

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

Шрифт:

4. Программа sortMM (программа 5.5) создает постоянно существующий индексный файл.

5. Программа sortMT (программа 7.2) реализует многопоточную сортировку слиянием. Результаты представлены в строках sortMT1, sortMT2 и sortMT4 в соответствии с количеством параллельных потоков. Результаты могут значительно меняться в зависимости от характера сортируемых данных, хотя размер и случайный характер распределения значений данных сглаживают эти различия, что, как правило, характерно для базового алгоритма быстрой сортировки, который использован для реализации функции qsort библиотеки С.

Комментарии

1. Реализация, использующая алгоритм бинарного дерева (программа sortBT), интенсивно использует процессор; кроме того, память

в ней распределяется отдельно для каждой записи.

2. Применение отображения файлов и чтение файла в предварительно выделенный буфер обеспечивают примерно одинаковую производительность, но в этих тестах отображение файлов ничем особенным себя не проявило, а в некоторых случаях даже значительно ухудшало результаты. Вместе с тем, в ряде случаев как sortFL, так и sortHP обеспечивали превосходные результаты.

3. Суммарное пользовательское и системное время иногда превышает истекшее время, даже если используется только один поток.

4. Программа sortMT демонстрирует возможности SMP-систем. В некоторых случаях использование дополнительных потоков приводило к повышению производительности и на однопроцессорных системах.

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

ЦП Pentium LT Celeron LT Xeon 4×Xeon
ОС W2000 XP W2000 W2000
Файловая система NTFS NTFS NTFS NTFS
sortBT Реальное время 9,61
Пользовательское время 1,84
Системное время 7,44
sortFL Реальное время 11,15 0,78 1,74 5,38
Пользовательское время 4,81 0,41 0,26 5,19
Системное время 0,15 0,09 0,09 0,02
sortHP Реальное время 1,76 0,34 1,52 1,30
Пользовательское время 1,62 0,22 0,15 1,28
Системное время 0,11 0,05 0,03 0,04
sortMM Реальное время 0,99 1,44 1,92 1,39
Пользовательское время 0,31 0,18 0,15 0,38
Системное время 0,68 0,47 0,36 1,03
sortMT1 Реальное время 3,18 3,58 6,80 0,14
Пользовательское
время
0,01 0,95 0,01 0,05
Системное время 0,46 0,16 0,16 0,11
sortMT2 Реальное время 2,10 1,22 6,70 0,13
Пользовательское время 0,01 1,05 0,01 0,02
Системное время 0,40 0,16 0,16 0,13
sortMT4 Реальное время 2,20 1,49 6,22 0,13
Пользовательское время 0,01 1,18 0,01 0,12
Системное время 0,16 0,15 0,16 0,09

Множество потоков, соревнующихся между собой за обладание единственным ресурсом

Целью этой серии тестов являлось сравнение эффективности различных стратегий реализации функций управления очередями программы 10.4 с использованием программы 10.5 (трехступенчатый конвейер) в качестве тестового приложения. Тесты выполнялись на четырехпроцессорной (Intel Xeon, 1 ГГц) системе Windows 2000 Server с организацией 1, 2, 4, 8, 16, 32 и 64 потоков, но во всех семи случаях каждого потока поручалось выполнение 1000 единиц работы. В идеальном случае можно было бы ожидать линейного увеличения реального времени с увеличением количества потоков, но соревновательность между потоками за право владения единственным мьютексом (или объектом CS) может приводить к нелинейному снижению этого показателя). Обратите внимание, что эти тесты не затрагивают файловую систему.

Использовались шесть различных стратегий реализации, результаты применения которых представлены в отдельных столбцах табл. В.5.

Таблица В.5. Производительность многопоточных реализаций на четырехпроцессорном сервере

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

Магия чистых душ 2

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.56
рейтинг книги
Магия чистых душ 2

Камень

Минин Станислав
1. Камень
Фантастика:
боевая фантастика
6.80
рейтинг книги
Камень

Прогрессор поневоле

Распопов Дмитрий Викторович
2. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прогрессор поневоле

Адепт: Обучение. Каникулы [СИ]

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.15
рейтинг книги
Адепт: Обучение. Каникулы [СИ]

Газлайтер. Том 4

Володин Григорий
4. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 4

Провинциал. Книга 7

Лопарев Игорь Викторович
7. Провинциал
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Провинциал. Книга 7

Назад в СССР 5

Дамиров Рафаэль
5. Курсант
Фантастика:
попаданцы
альтернативная история
6.64
рейтинг книги
Назад в СССР 5

Темный Лекарь 3

Токсик Саша
3. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 3

Наследник

Кулаков Алексей Иванович
1. Рюрикова кровь
Фантастика:
научная фантастика
попаданцы
альтернативная история
8.69
рейтинг книги
Наследник

Долг

Кораблев Родион
7. Другая сторона
Фантастика:
боевая фантастика
5.56
рейтинг книги
Долг

Жребий некроманта 2

Решетов Евгений Валерьевич
2. Жребий некроманта
Фантастика:
боевая фантастика
6.87
рейтинг книги
Жребий некроманта 2

Путь (2 книга - 6 книга)

Игнатов Михаил Павлович
Путь
Фантастика:
фэнтези
6.40
рейтинг книги
Путь (2 книга - 6 книга)

Гром над Империей. Часть 1

Машуков Тимур
5. Гром над миром
Фантастика:
фэнтези
5.20
рейтинг книги
Гром над Империей. Часть 1

Великий род

Сай Ярослав
3. Медорфенов
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Великий род
К-во потоков Широковещат.модель Широковещат.модель Широковещат. модель Сигнальная модель Сигнальная модель Сигнальная модель
Mtx, Evt CritSec, Evt Mtx, Evt Mtx, Evt CritSec, Evt Mtx, Evt
Т/О 5мс Т/О 25мс SigObjWait Т/О неопределен Т/О неопределен SigObjWait
1 Реальное время 0,03 0,03 0,05 0,05 0,03 0,05
Пользовательское время 0,03 0,06 0,03 0,05 0,08 0,05
Системное время 0,06 0,02 0,09 0,08 0,02 0,06