Intro To Optimization ToolsNavigation |
v-tuneSubmitted by epreisz on Sun, 02/11/2007 - 08:30.
V-Tune is a powerful CPU analysis tool. In stating that V-Tune is a CPU analysis tool, it is important to recognize that it will tell you nothing about your GPU. V-Tune gives us multiple views into our application. Two of the views, the counter monitor and sampling, are non-intrusive. The call graph, is an intrusive view that allows us to view the parent/child relationship. The three collection types in V-Tune are:
Counter Monitor The counter monitor is a tool that gives us information about the system level and the micro level. The counter monitor displays a chart of information about a resource over time. For example, we can use the counter monitor to tell us about our CPU utilization. If you CPU utilization is not 100% then that means we are not using our CPU to it’s fullest potential. We can also use the counter monitor to tell us about how we are using memory or how threading is behaving. When beginning our optimization on the CPU, we should run the counter monitor first to give us a overall system view of how our application is executing. Sampling Sampling is a useful tool for viewing system, application, and micro level optimizations. Sampling gives us system information by showing us all the processing currently running. It returns application information by connecting your source code to the information sampled by V-Tune. In doing this, we are able to determine what percentage of time we spent in which classes or functions of our code. Lastly, we can view the samples taken line-by-line for a very specific view on what code is behaving slowly. Call Graph The call graph is an excellent tool for application level optimization. We are required to compile our application by generating relocation information in order to allow V-Tune to gather parent/child relationships. In doing so, we can traverse the application in the same way that it was executed. The call graph will also tell us what our longest path from the root of our application thread to the slowest function. This path is what we refer to as the critical path. Enhancing the performance of the critical path is almost always a way to guarantee a performance increase on our CPU. The call graph will not give us any information about what line of code is performing slowly; therefore, it is not the best tool for micro optimizations. After running the counter monitor, running the call graph is usually the next best tool to run. |
User login |