VTune Amplifier XE can help you to detect resource contentions, for example:
1. You can know parallelism of your multi-threaded application, CPU usage.
2. You can know wait times/wait countsfor multi-threaded application
3. You can investigate What locks cause wait times highly
4. Use timeline report to know threading behaviors (active, inactive, CPU usage, threading transitions)
5. Use prededine analysis type - e.g. memory access, to know L2/LLC cache misses in modules, threads, functions.
You can find more useful features from online helper.
If you have source code of target application, it still works. However source view with performance data is not supported, function level view is supported.
Thanks for responding.
My problem is that I havepart of anapplication that runs quickly when executed via one path but when it is executed via a different path, it runs almost 10 times slower. I do not have source code for this application but do have access to the developers. This slow down has just recently occurred and I need to narrow down why it is occuring. Will VTune help me find the differences in the two different paths of execution?
Yes, you can use VTune to investigate - I assume that you have executable with symbol files.
You can run hotspots analysis with application for different paths, twice. You can compare bottom-up reports inresults... to verify CPU time on hot functions. Thus, you canfind suspect function(s)then communicate withthe developers.
Since you have no source,it's impossibletoget CPU time consumed on each source line.
I would not assume that I have an executable with debug symbols. I do know that the path I am having probelms with is a seperate thread that starts executing. Will I be able to identify this thread and watch what resources that it is using?
So please ask developers to send you executable with debug info, or symbol files. It could be release build, with compiler option "/Zi" for Windows version, "-g" for Linux version, linker option "/DEBUG" for window version.
VTune Amplifier XEshouldbe compatible with LabView, no special requirements for target application. C/C++, FORTRAN and C# language are supported, ordevelopers use libraries (e.g. LabView) built by these languages.
If there is no symboleinfo for 3rd-party libraries, hot functions cannotbedetected. You only can view CPU time consumedin all threads.
Thanks for the information. I will most likely give it a try but it will be a couple of weeks before I get a chance. If I have any questions, I will start a new thread.