5.3.5. The top five bar charts

The top five bar charts show the overall performance of your code, displaying the top five functions in a few different categories.

Figure 5.5. The Top Five Bar Charts

The Top Five Bar Charts

In the Top 5 Threads by Time bar charts, the time value depends on the chosen sample rate. If you are using hardware and sampling is turned on, then the time value is based on samples. If you are using estimated cycles, the time value will be based on cycles calculated by using the instruction count and type. To see a list of the different threads generated by your code, alongside more detailed performance statistics, open the call chains report.

The Top 5 Functions by Self Time bar chart shows you which functions most frequently occur during the captured run. For example, if an application spends half its time in one particular function, that function will be represented by a bar labeled 50%. Double-clicking on any of the bars opens the code view with that function selected. This is not the only navigation option provided by the top five functions bar chart. Right-click on any of the chart's bars to open a contextual menu with the following menu options:

The first seven menu items are only available if you checked the Collect Instruction Trace Replay box in the Profiling tab of the run configuration launcher. The Set Breakpoint option sets a breakpoint in the instruction trace where the replay will halt when you execute one of the run commands. The Run Forward to Selection and Run Backward to Selection commands can then be used to move the trace position between breakpoints.Run Forward off Selection moves forward to the next unselected instruction, the next breakpoint, or the end of the program trace, while Run Backward off Selection works the same, only it moves backward. The Jump to Next Instance in Replay and Jump to Previous Instance in Replay take you forward and backward through the trace to the next instance of this function’s instructions in the Replay View.

The next menu options, Filter and Filter Others, filter the selected function's data from all reports. Select in Functions opens the functions report, with the function selected. Select in Classes only appears if the analysis file has been generated using C++. It opens a classes report with the chosen function's class selected. The Select in Files option opens the files report with the function's source file selected. Select in Code View opens the code view for the selected function, with all of the instructions and pertinent lines of code highlighted.Select in Call Chains opens the call chains report with every instance of the function selected and the hierarchal report broken down so that they are all visible. The Select in Call Graph and Select in Call Summary options open the visual reports with the function active and centered, while the Edit Source option opens the function's source file in the ARM Workbench default editor.


The Edit Source contextual menu option only appears if the file is a standard C or C++ file. If the bar represents a function without source, like a third-party library function, the Edit Source option does not appear.

The Top 5 Functions by Memory Access and Top 5 Functions by Delay charts are similar to the Top 5 Functions by Self Time bar chart, only they display the five functions with the highest Delay and Accessed values, respectively. The navigation options for this bar chart are the same as in the Top 5 Functions by Self Time report.


If the program is very small and there are not enough files or functions to populate the top five bar charts, the ARM Profiler fills the charts with as much data as possible and increases the thickness of the bars to fill the space.

Copyright © 2007- 2009 ARM Limited. All rights reserved.ARM DUI 0414D