Profiling/Benchmarking ToolsC++ ProfilersC++ Profilers

Profiling Applications Applications

GNU Profiler (gprof)

  • ubiquitous
  • free software
  • some IDEs can present gprof results in a GUI

Intel VTune Amplifier

  • free of charge
  • GUI & command line interface
  • sampling-based profiling
  • hardware event sampling for Intel chips
  • locks & waits analysis
  • memory access analysis
  • storage analysis
  • integrates with MS Visual Studio

OProfile

perf

  • free software

Valgrind

(cachegrind, callgrind)
  • free software

Apple Instruments

  • part of XCode

NVIDIA Nsight Compute

Host:
  • profiling for NVIDIA GPUs (architectures: Paspal, Volta, Turing)
  • supplants NVIDIA Visual Profiler

DTrace

  • free software

Optick

  • instrumentation-based and sampling-based profiling
  • GPU counters

GlowCode

SmartBear AQTime

Arm MAP

Oracle Performance Analyzer

Easy Profiler

Benchmarking Libraries / Frameworks Libraries / Frameworks Libraries

Google Benchmark

  • Apache-2.0

gperftools (originally Google Performance Tools)

  • BSD-3-Clause
  • high-performance multithreaded malloc()
  • heap checker
  • heap profiler
  • cpu profiler

Celero

  • Apache-2.0

plf::nanotimer

  • zlib
simple, cross-platform microsecond-precision timer class