Overview of the AMD DiffAnalyst Tool

The AMD DiffAnalyst tool compares TBP or EBP files generated by the AMD CodeAnalyst tool. These files contain system-wide profiling data (known as “profiling sessions”) from a time-based, event-based, or instruction-based profile generated by the AMD CodeAnalyst tool. In DiffAnalyst, users begin by selecting any two profiling sessions. The following example shows two .ebp (event-based) profiling sessions.

A system-wide profile generally consists of modules (i.e., an executable and various shared libraries). A TBP/EBP file stores profiling data of these modules during a profiling session. The AMD DiffAnalyst tool allows users to select any two modules and compares them based on the module’s symbol information. Typically, a symbol is a compiler-generated equivalent of a function in C/C++ programs.

 In the AMD DiffAnalyst Symbol Diff view, the tool compares profile data from different modules based on the fully-qualified function name. For each function, DiffAnalyst present two sets of data, each from the selected modules. The user can choose different ways to view the data, which will be discussed more in detail in Symbol Diff View.

After examining the module, comparing the disassembly of any particular function can be done in the Disassembly Diff View. This view displays disassembly instructions, basic block, identify load/store instructions, and identifies in-line instances.