У меня есть многопоточные программы. Мы используем собственную реализацию пула потоков. Во-первых, нагрузки проекта достаточно. доведенный до одного потока, программа из двух потоков работает быстрее.Многопоточные проблемы с производительностью
Когда мы увеличиваем число потоков, больше 2, производительность начинает ужасно. Очевидно, что мы столкнулись с многопоточными проблемами производительности.
Затем мы начали использовать усилитель Intel® VTune ™ XE 2017 Анализ результатов деятельности, мы ставим этот инструмент, интегрированный в VS2013. Затем произошло удивительное событие, когда я нажимаю кнопку «звезда» Intel® VTune ™ Amplifier XE, проект начинает работать, plug собирает данные. Мы обнаруживаем, что, когда мы запускаем этот проект через плагин, с увеличением количества потоков производительность становится выше, время работы сокращается. Мы можем открыть до 20 потоков. И время укорачивается 20 раз
Итак, мы хотим знать, может Усилитель Intel® VTune ™ XE 2017 Изменение режима работы многопоточных программ? Почему это происходит. Я долгое время был обеспокоен этой проблемой.
Под каким видом анализа вы видите увеличение производительности приложения? Для анализа проблем с потоками используйте Concurrency или Locks and Waits. – Vital
Вы не используете приложение на мобильной платформе (например, ноутбук)? – Vital
Мой проект просто может работать на windows.It является консольным приложением win.Yeah, все виды анализа показывают, что увеличение производительности. все почти идеально. Блокирует и ждет, мало переключений контекста, немного креста на основе ядра, процессор полностью используется. Мы также используем визуализатор параллелизма Microsoft. То же самое произошло. Даже я использую функцию clock() для восстановления времени, время сокращается! – ballontt