Once the analysis is done we are given a Summary page showing us the total Execution time, total Wait Time, Spin Time and even provides a thread concurrency histogram with ideal goal. We discuss each section of information given to us in the summary and how we can use that to obtain a clue as to where to start our investigation.
- [Instructor] At the top of the Summary page,…we can see the Elapsed Time.…This is the total time the application ran for…including data collections.…Below this, we have the Wait Time.…The Wait Time occurs when software threads…are waiting due to APIs that block or cause synchronization.…Wait Time is calculated per thread…so the total Wait Time might exceed the Elapsed Time.…If we expand the Wait Time,…we can see how much time the threads…were in a particular state.…Here we can see that the threads…spent most of their time in the Idle or Poor state.…
Below this we have the Wait Count,…then the Spin Time.…We can see that there's a red flag next to the Spin Time.…If we hover our mouse over it,…we can see a little error box popup…saying that a significant portion…of CPU time was spent waiting.…Now, the Spin Time is the time a thread is active for…in the synchronization construct.…If it is highlighted, like we see here,…then the value shown exceeds the predefined threshold,…and is considered a performance issue.…The threshold is a predefined value…
By the end of this course you will know how to use the Locks and Waits analysis on your own application and improve the efficiency of parallel task execution on Windows.
- Installing VTune Amplifier
- Choosing options for the Locks and Waits analysis
- Working with the VTune Amplifier GUI
- Viewing the analysis summary
- Removing the lock
- Conducting lock-removed analysis
- Comparing results