Overview of the Survey Report

After the Survey tool runs with your program's target executable to collect data, the Survey Report window appears. It displays a top-down call tree with loops. When a target executes for a very short duration, it may not be possible for the Survey tool to collect sufficient data to provide a Survey Report and a message appears instead (click the link for the Troubleshooting help topic listed below under See Also).

Example of a Survey Report window

Use the small toolbar to help you quickly locate the Hot Loops and view the Survey Source window at the current location.

The Function Call Sites and Loops column provides an extended top-down call tree of your program's target, starting with the main entry point. You can scroll up and down as well as show or hide functions and loops. Each function or loop appears on a separate line. Loops are indicated by the loop icon under the function/procedure that executes it.

On any row, right click to view the context menu.

The Total Time % column starts in the top line with values of 100%. The Total Time shows the time spent in a function or loop, and all functions called from it. As you scroll to examine lower lines, lines immediately above where the values decrease are the hot regions in the call tree. When an entry has a large Total Time %, and has multiple children with smaller total times, consider making a parallel site in the parent, and tasks for the children.

The Self Time column shows how much was spent in each function or loop. Look for loops or functions with significant self time values as possible parallel site/task candidates to distribute the work done. For example, some time-consuming loops are identified in the Hot Loop column.

The Hot Loops column identifies the top five loops or functions that consume significant CPU time with a checkmark. With large applications, examine other loops or functions that also consume significant CPU time.

The Source Location shows the source file and line number associated with the location in the call tree.

The bottom area provides an annotation assistant that lets you copy annotation code snippets and build settings, so you can copy text into your code editor or build script. See the help topic Copying Annotations and Build Settings Using the Annotation Assistant Pane. When using the Visual Studio code editor, you can instead use the annotation wizard (see the help link under See Also).

To view details about a code region, use the Survey Source window.

For more complete information about compiler optimizations, see our Optimization Notice.