分析线程同步锁争用

时间:2010-01-30 19:34:09

标签: .net multithreading profiling performance parallel-processing

过去,我使用了nprof,Equatec profiler和Yourkit profiler等性能分析工具来识别和删除/减少主要​​在一个线程中运行的代码中的性能瓶颈(序列化执行)。现在我写了很多多线程代码,可以通过锁争用来减慢速度;可以使用哪些工具和技巧来确定锁定争用发生的位置和数量?

3 个答案:

答案 0 :(得分:2)

很快就会推出,目前已在Visual Studio 2010 beta 2中发布。这是一个video of the tool

答案 1 :(得分:1)

从英特尔试试ThreadChecker。它适用于Windows和Linux。如果您正在使用Windows,请尝试Parallel Studio。它提供了易于使用的锁定等待分析器。它显示了运行时期间的整体并发性,它提供了有关锁争用和较差并发性的提示。这些工具现在正在做你想要的。

答案 2 :(得分:0)

要在Windows上进行开发,软件验证会有一些( http://www.softwareverify.com/thread.html)。

对于C,C ++,Delphi尝试使用Thread Validator。

对于Java,还有Java Thread Validator。

还有Python和Ruby的实验版本。