We have a pthread linux application that we suspect has a race condition. We would like to give thread checker a try. How does the performance of the thread checker looks like? Would it slow down an application by 50x?
We have never used thread checker before. How is the general feeling about it? Is there is demo version available? Do we need to order Vtune (for windows) in order to use thread checker?
Thanks for coming to the Threading Forum. Let me see if I can answer some of your questions.
The slowdown seen by Intel Thread Checker is directly related to the number of different memory accesses that are done. The tool watches reads and writes done by threads in order to compare memory access patterns between threads that aren't protected by some synchronization object. I've never seen Thread Checker slow down something by 50X (even in the early versions). Slowdown is a major issue that is constantly being addressed by the developement team. I would guess slowdowns are typically kept under 2X in most cases (and often is much less than that). Memory expansion during execution will be another factor that you will likely be concerned about. If either of these get out of hand when running on your application, I hope you will report them to Intel Premier Support.