Профилирование потока синхронизирует конкуренцию за блокировку

В прошлом я использовал производительность профильные инструменты, такие как nprof, профилировщик Equatec и профилировщик Yourkit, чтобы определить и удалить/уменьшить узкие места производительности в главным образом под управлением коде в одном потоке (сериализированное выполнение). В наше время я пишу много многопоточного кода, который может быть замедлен конкуренцией за блокировку; что инструменты и приемы могут использоваться для идентификации, где конкуренция за блокировку происходит и сколько?

5
задан redcalx 30 January 2010 в 22:03
поделиться

3 ответа

Это доступно в ближайшее время, в настоящее время доставка в Visual Studio 2010 beta 2. Вот видео с инструментом .

2
ответ дан 15 December 2019 в 06:26
поделиться

Попробуйте Threadchecker из Intel. Работает как на Windows, так и на Linux. Если вы работаете над Windows, то попробуйте Parallel Studio . Он обеспечивает простые в использовании замки и ожидает профилировщика. Он показывает общий параллелизм во время выполнения, что дает подсказки на блокировку и плохой параллелизм. Инструменты делают прямо сейчас, что вы хотите.

1
ответ дан 15 December 2019 в 06:26
поделиться

Для разработки в Windows у Software Verification есть несколько ( http://www.softwareverify.com/thread.html ).

Для C, C ++, Delphi попробуйте Thread Validator.

Для Java существует также Java Thread Validator.

Существуют также экспериментальные версии для Python и Ruby.

0
ответ дан 15 December 2019 в 06:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: