Optimize Single-threaded Performance

Single-threaded performance remains important to well-tuned applications even in today's multicore world. Get accurate data with minimal overhead, so you can focus on achieving maximum impact.

screenshot of the report interface

Figure 1

Find Hotspots

Identifying code that uses a lot of processor time is often the first step in single-threaded optimization. Hotspot analysis gives you a list of functions sorted by the amount of time they consume. Optimizing the longest running functions provide you with the biggest performance gain.

Hotspot analysis lists functions that consume a lot of processor time. Click + for the call stacks. To see the source, double-click a table entry. Colors show threading efficiency (see Fig. 1).

View Profiling Results on Your Source Code

Once you find the time-consuming functions, the next step is to figure out what part of each function needs improvement. Double-clicking the hotspot list takes you directly to the source, showing the hottest spot in the function. Intel® VTune™ Amplifier supports most native compilers that follow industry standards, such as C, C++, and Fortran. No special compiler is required—just use your normal production build and include symbols.

To view the hottest spot, double-click the function list (see Fig. 2).

screenshot of the report interface

Figure 2

screenshot of the report interface

Figure 3

Python*, C++, C, & Fortran Profiling

Statistical sampling techniques capture accurate profiling data with minimal overhead.

  • Avoid the heavy instrumentation overhead of many Python* profilers.
  • Profile pure Python or Python plus native code extensions in C, C++, or Fortran.
  • Tune native code extensions (unlike profilers for only Python).
  • Get source-line detail that includes call stacks.

View the profiling results on your Python source code (see Fig. 3).

Low-Overhead Java* Profiling

Analyze Java* or Java mixed with native code, and map results to the original Java source. Unlike some high-overhead Java profilers that instrument the code, Intel VTune Amplifier uses low-overhead statistical sampling.

Analyze running Java services (such as mail) even if they are in a container. Profile Java daemons without a restart.

View the profiling results on your Java source (see Fig. 4).

screenshot of the report interface

Figure 4

Additional Capabilities