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