Вход/Регистрация
Системное программирование в среде Windows
вернуться

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

Шрифт:
2 Реальное время 0,14 0,27 0,09 0,08 0,06 0,08 Пользовательское время 0,13 0,05 0,14 0,17 0,11 0,08 Системное время 0,11 0,06 0,16 0,09 0,11 0,17 4 Реальное время 0,39 0,59 0,23 0,19 0,16 0,20 Пользовательское время 0,18 0,17 0,22 0,26 0,17 0,19 Системное время 0,30 0,22 0,41 0,31 0,22 0,31 8 Реальное время 0,83 0,92 0,73 0,36 0,34 0,36 Пользовательское время 0,34 0,36 0,55 0,52 0,45 0,45 Системное время 0,98 1,00 1,00 0,69 0,39 0,75 16 Реальное время 2,42 2,30 2,38 0,75 0,69 0,75 Пользовательское время 1,17 1,31 1,22 0,81 0,81 0,88 Системное время 3,69 3,05 3,39 1,45 1,08 1,33 32 Реальное время 7,56 7,50 7,98 1,50 1,50 1,50 Пользовательское время 3,33 3,73 2,56 1,75 1,69 1,78 Системное время 12,52 10,72 11,03 3,13 2,00 2,69 64 Реальное время 27,72 26,23 29,31 3,14 2,95 3,20 Пользовательское время 7,89 10,75 7,22 3,73 3,69 3,47 Системное время 46,70 40,33 36,67 6,28 3,89 5,47

В комментариях, помещенных вслед за программой 10.4, обсуждаются результаты и разъясняются преимущества различных реализаций, а здесь мы лишь отметим, что результаты для сигнальной модели изменяются пропорционально изменению количества потоков, тогда как в случае широковещательной модели, особенно для вариантов с 32 и 64 потоками, это не так. Можно также видеть, что в случае широковещательной модели система потребляет значительную долю процессорного времени, ибо выполняются, вычисляют предикат и осуществляют немедленный возврат в состояние ожидания множество потоков.

1. Широковещательная модель, мьютекс (Mtx), событие (Evt), раздельные вызовы функций освобождения и ожидания. Конечный период ожидания (Time-out, TO) устанавливался равным 5 миллисекундам, что являлось оптимальным значением для 16-поточного варианта.

2. Широковещательная модель, объект CRITICAL_SECTION (CritSec), событие, раздельные вызовы функций освобождения и ожидания. Настраиваемый период ожидания устанавливался равным 5 миллисекундам, что являлось оптимальным значением для 16-поточного варианта.

3. Широковещательная модель, мьютекс, событие, атомарный вызов SignalObjectAndWait (SigObjWait).

4. Сигнальная модель, мьютекс, событие, раздельные вызовы функций освобождения и ожидания.

5. Сигнальная модель, объект CRITICAL_SECTION, событие, раздельные вызовы функций освобождения и ожидания.

6. Сигнальная модель, мьютекс, событие, атомарный вызов SignalObjectAndWait.

Выполнение тестов

На Web-сайте книги в каталоге TimeTest находятся пакетные файлы, с помощью которых вы сможете запускать тесты как под управлением Windows 2000/NT, так и под управлением Windows 9x:

• cpTIME.bat

• cpTIME.bat

• atouTIME.bat

• grepTIME.bat

• sortTIME.bat

• threeST.bat

Для всех тестов, кроме тестов последней серии, текстовые ASCII-файлы большого размера создавались с помощью программы RandFile.

Библиография

1. Beveridge, Jim, and Wiener, Robert. Multithreading Applications in Win32: The Complete Guide to Threads, Addison-Wesley, Reading, MA, 1997. ISBN: 0-201-44234-5.

  • Читать дальше
  • 1
  • ...
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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