Go to main content
Oracle® Developer Studio 12.5: Performance Analyzer Tutorials

Exit Print View

Updated: June 2016
 
 

About the Performance Analyzer Tutorials

This document features several tutorials that show how you can use Performance Analyzer to profile various types of programs. Each tutorial provides steps for using Performance Analyzer with the source files including screen shots at most steps in the tutorial.

The source code for all the tutorials in included in a single distribution. See Getting the Sample Code for the Tutorials for information about obtaining the sample source code.

The tutorials include the following:

  • Introduction to C Profiling

    This introductory tutorial uses a target code named lowfruit, written in C. The lowfruit program is very simple and includes code for two programming tasks which are each implemented in an efficient way and an inefficient way. The tutorial shows how to collect a performance experiment on the C target program and how to use the various data views in Performance Analyzer. You examine the two implementations of each task and see how Performance Analyzer shows which task is efficient and which is not.

  • Introduction to Java Profiling

    This introductory tutorial uses a target code named jlowfruit, written in Java. Similar to the code used in the C profiling tutorial, the jlowfruit program is very simple and includes code for two programming tasks which are each implemented in an efficient way and an inefficient way. The tutorial shows how to collect a performance experiment on the Java target and how to use the various data views in Performance Analyzer. You examine the two implementations of each task, and see how Performance Analyzer shows which task is efficient and which is not.

  • Java and Mixed Java-C++ Profiling

    This tutorial is based on a Java code named jsynprog that performs a number of programming operations one after another. Some operations do arithmetic, one triggers garbage collection, and several use a dynamically loaded C++ shared object, and call from Java to native code and back again. In this tutorial you see how the various operations are implemented, and how Performance Analyzer shows you the performance data about the program.

  • Hardware Counter Profiling on a Multithreaded Program

    This tutorial is based on a multithreaded program named mttest that runs a number of tasks, spawning threads for each one, and uses different synchronization techniques for each task. In this tutorial, you see the performance differences between the computations in the tasks, and use hardware counter profiling to examine and understand an unexpected performance difference between two functions.

  • Synchronization Tracing on a Multithreaded Program

    This tutorial is also based on the multithreaded program named mttest that runs a number of tasks, spawning threads for each one, and uses different synchronization techniques for each task. In this tutorial, you examine the performance differences between the synchronization techniques.