Profiling thread synchronization synchronization conflicts

In the past, I used performance profiling tools such as nprof, the Equatec profiler, and Yourkit profiler to identify and remove / reduce performance bottlenecks in code that mostly runs on a single thread (serialized execution). I am currently writing a lot of multithreaded code that can be slowed down by blocking; What tools and tricks can be used to determine where the lock conflict occurs and by how much?

+5
source share
3 answers

It will be available soon in beta in Visual Studio 2010 2. Here's a video of this tool .

+2
source

Try Intel's ThreadChecker . It works on both Windows and Linux. If you are working with Windows, try Parallel Studio . It provides an easy to use lock and wait profiler. It shows the general concurrency at runtime, which gives hints about prohibition and bad concurrency. Tools now do what you want.

+1
source

For development on Windows, validation software has several ( http://www.softwareverify.com/thread.html ).

For C, C ++ Delphi, try Thread Validator.

For Java, there is also a Java Thread validator.

There are also experimental versions for Python and Ruby.

0
source

Source: https://habr.com/ru/post/948186/


All Articles