VisualStudio профилирование параллелизма увеличивает использование потоков - PullRequest
1 голос
/ 15 ноября 2011

В настоящее время мы пытаемся отслеживать производительность программы ac # с помощью VisualStudio Concurrency Profiler.Программа использует параллельную обработку, чтобы сначала прочитать данные в BlockingCollection, а затем записать данные в таблицу базы данных из второй BlockingCollection.

Обычно программа будет использовать в общей сложности 3 потока на четырехъядерном компьютере.Однако при запуске с профилировщиком параллелизма (на этот раз в четырехъядерной виртуальной машине) мы видим использование двадцати или тридцати потоков, а также большой объем синхронизации (85%) и конкуренцию.Это также занимает в четыре раза больше времени.

Кто-нибудь видел подобное поведение, или есть объяснение, почему это может происходить?Можно ли объяснить различия виртуальной машиной, а не профайлером параллелизма?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...