IBM Israel
Skip to main content
 
Search IBM Research
   Home  |  Products & services  |  Support & downloads  |  My account
Select a Country Select a country
IBM Research Home IBM Research Home
IBM Haifa Labs Homepage IBM Haifa Labs Home

CodeAnalyzer

Performance Analysis and Optimizations Technologies
Project Homepage
 ·Team & Contacts
Feedback


CodeAnalyzer
  Overview

CodeAnalyzer is an Eclipse-based plugin that can display feedback-directed performance information about a given application.

Code Analyzer is part of the Visual Performance Analyzer (VPA) tool which includes additional performance analysis plugins: Performance Analyzer and Pipeline Analyzer.

Visual Performance Analyzer can be downloaded from IBM alphaworks site.

CodeAnalyzer is able to read in profiling information generated by the tprof or FDPR performance tools.

CodeAnalyzer analyzes executable files and shared libraries by using FDPR. FDPR is a post-link analyzer and performance optimization tool, which can perform accurate analysis on executable files and DLLs.

Using FDPR instrumentation, CodeAnalyzer enables you to instrument executables or shared libraries in order to collect accurate frequency statistics. This profiling mode collects edge profiling information, which cannot be collected using regular sampling techniques. The profiling information gathered by FDPR is then passed on to CodeAnalyzer to be embedded with the static view of the program code and data.CodeAnalyzer receives all necessary analysis data and instrumentation capabilities through native API libraries of FDPR using the JNI interface.

Click to see full size 
Click to see full size

CodeAnalyzer displays various kinds of information for a given application, such as assembly instructions, basic blocks, functions, CSECT modules, control flow graph, hot loops, call graph, and annotated code. In addition, CodeAnalyzer can map given assembly (or machine) code back to its source code, when source files are available.

Additional information displayed by CodeAnalyzer includes the static and dynamic data accessed by the given application, various performance statistics and specific Power architecture performance bottlenecks. Code Analyzer provides performance-related comments and notifications about potential optimizations on both, the assembly and the source code of the program. This information is then used to identify potential bottlenecks in the program.

The following image shows multiple views of Code Analyzer displaying assembly-level comments and their mapping to the source code:



Code Analyzer also provides performance comments directly on the source code.

The following image shows a simple comment of invariant code located within a frequently executed loop:



  Publications



 

  About IBM  |  Privacy  |  Legal  |  Contact