Книга: Системное программирование в среде Windows
Производительность
Производительность
В приложении В представлены результаты сортировки файлов большого размера, содержащих записи длиной 64 байта, для случаев использования одной, двух и четырех потоков. SMP-системы позволяют получать значительно лучшие результаты. Упомянутый принцип "разделяй и властвуй" обеспечивает нечто большее, чем просто стратегию проектирования алгоритмов; он также служит ключом к использованию потоков и SMP. Результаты для однопроцессорных систем могут быть различными в зависимости от остальных характеристик системы. В системах с ограниченным объемом памяти (то есть объема физической памяти не достаточно для того, чтобы наряду с ОС и другими активными процессами в ней уместился весь файл) использование нескольких потоков увеличивает время сортировки, поскольку потоки состязаются между собой в захвате доступной физической памяти. С другой стороны, если памяти имеется достаточно, то многопоточный вариант может привести к повышению производительности и в случае однопроцессорных систем. Кроме того, как следует из приложения В, получаемые результаты существенно зависят от начального распределения данных.
- Обзор потоков
- Основные сведения о потоках
- Управление потоками
- Использование библиотеки С впотоках
- Пример: многопоточный поиск контекста
- Потоки и производительность
- Модель "хозяин/рабочий" и другие модели многопоточных приложений
- Пример: применение принципа "разделяй и властвуй" для решения задачи сортировки слиянием в SMP-системах
- Производительность
- Локальные области хранения потоков
- Приоритеты процессов и потоков и планирование выполнения
- Состояния потоков
- Возможные ловушки и распространенные ошибки
- Ожидание в течение конечного интервала времени
- Облегченные потоки
- Резюме
- Упражнения
- Основные "рычаги" управления производительностью
- Улучшенная производительность
- Как сравнить производительность моего компьютера с остальными?
- Производительность и надежность
- Ситуация 5. Слабая производительность сети
- Производительность системных вызовов
- ГЛАВА 9 Влияние синхронизации на производительность и рекомендации по ее повышению
- Производительность программы
- Потоки и производительность
- Влияние синхронизации на производительность
- ГЛАВА 11 Производительность графического кода и пользовательского интерфейса
- Масштабируемость и производительность