List of performance analysis tools


This is a list of performance analysis tools for use in software development.

General purpose, language independent

The following tools work based on log files that can be generated from various systems.
The following tools work for multiple languages or binaries.
Name/ManufacturerOSCompiler/LanguageWhat It DoesLicense
Arm MAPLinuxC, C++, Fortran/Fortran90 and Python applications.Performance profiler. Shows I/O, communication, floating point operation usage and memory access costs.
Supports multi-threaded and multi-process applications - such as those with MPI or OpenMP parallelism and scales to very high node counts.
Proprietary
AppDynamics by CiscoLinux, Windows, iOS, Android, Azure, AWS, AIX.NET, Java, PHP, HTML5, ObjectiveC/iOS, Java/Android, C/C++, Apache, Nginx, Cassandra, DataBasesSee Application Performance Management.Proprietary
AQtime by SmartBear SoftwareWindows.NET 1.0 to 4.0 applications, Silverlight 4.0 applications, Windows 32- and 64-bit applications including C, C++, Delphi for Win32 and VBScript and JScript functionsPerformance profiler and memory/resource debugging toolset.Proprietary
CodeAnalyst by AMDLinux, WindowsC, C++,Objective C.NET, Java AMD uProf supersedes CodeAnalyst and CodeXL for CPU and Power profiling on AMD processors.
GUI based code profiler; does only basic timer-based profiling on Intel processors. Based on OProfile.
Free/open source or proprietary
AMD CodeXL by AMDLinux, WindowsFor GPU profiling and debugging: OpenCL.A tool suite for GPU profiling, GPU debugger and a static kernel analyzer.Free/open source
AMD uProf by AMDLinux, WindowsC, C++,.NET, Java, FortranCode profiler, does sampling based profiling on AMD processors.Proprietary
DevPartner by Borland / Micro Focus.NET, JavaTest suite that automatically detects and diagnoses software defects and performance problems.Proprietary
DTrace by Sun MicrosystemsSolaris, Linux, BSD, macOSComprehensive dynamic tracing framework for troubleshooting kernel and application problems on production systems in real time.Free/open source
dynamoRIO by RIOLinux, WindowsDynamic binary instrumentation framework for the development of dynamic program analysis tools.Free/open source - BSD
DynatraceLinux, Windows, iOS, Android, Azure, AWS, AIX, Solaris, HP/UX, zOS, zLinux.NET, Java, PHP, HTML5, Ajax, Objective-C/iOS, Java/Android, C/C++, CICS, Apache, Nginx, Cassandra, Hadoop, MongoDB, HBaseSee Application Performance Management.Proprietary
Linux, AndroidPrimarily C/C++/Fortran, but can profile any application linking against supported parallel libraries HPC performance analysis tool with viewer and supporting utilities. Primarily designed for parallel applications with support for MPI, OpenMP, CUDA, OpenCL, pthreads, and OmpSs. Additional features include user function tracing and hardware event capture via PAPI.Free/open source - LGPL-2.1
FusionReactorLinux, Windows, macOS, AWS, Azure, Google CloudJava, ColdFusion, Apache, MongoDB Works with any Language supported by the JVMPerforms Application Performance Management and Performance and Root Cause Analysis. Combines APM and Low Level Developer Style Tooling; also includes a debugger and Java, memory, thread, and CPU profilers.Proprietary
GlowCodeWindows64-bit and 32-bit applications, C, C++,.NET, and dlls generated by any language compiler.Performance and memory profiler that identifies time-intensive functions and detects memory leaks and errors.Proprietary
gprofLinux/UnixAny language supported by gccSeveral tools with combined sampling and call-graph profiling. A set of visualization tools, VCG tools, uses the Call Graph Drawing Interface to interface with gprof. Another visualization tool that interfaces with gprof is KProf.Free/open source - BSD version is part of 4.2BSD and GNU version is part of GNU Binutils
InstanaLinux, Windows, iOS, Android, Azure, AWS, AIX, Solaris, HP/UX, zOS, zLinux.NET,.Net core, Java, PHP, Ruby, Python, Crystal, Scala, Kotlin, Clojure, Haskell, Node.js, Web Browser, Apache, Nginx, Cassandra, Hadoop, MongoDB, Elasticsearch, KafkaSee Application Performance Management.Proprietary
Instruments with XcodemacOSC, C++, Objective-C/C++, Swift, Cocoa apps.Instruments shows a time line displaying any event occurring in the application, such as CPU activity variation, memory allocation, and network and file activity, together with graphs and statistics.
Group of events are monitored by selecting specific instruments from: File Activity, Memory Allocations, Time Profiler, GPU activity etc. For system wide impact of the executable: System Trace, System usage, Network Usage, Energy log etc are useful.
Free. Proprietary. Bundled with Xcode, which is also free.
Intel AdvisorLinux and Windows. Viewer only on macOS.C, C++ and FortranVectorization optimization. Find hot loops, ID what is blocking vectorization, check for loop-carried dependencies, analyze memory access patterns and optimize stride and memory footprint. Includes cache aware roofline analysis.
Also includes Flow Graph Analyzer to create and analyze data flow and dependency computation graphs.
Freeware and Proprietary. Bundled as a part of Intel Parallel Studio.
Linux Trace Toolkit LinuxRequires patched kernelCollects data on processes blocking, context switches, and execution time. This helps identify performance problems over multiple processes or threads. Superseded by LTTng.GPL
LTTng LinuxSystem software package for correlated tracing of kernel, applications and libraries.GPL/LGPL/MIT
OProfileLinuxProfiles everything running on the Linux system, including hard-to-profile programs such as interrupt handlers and the kernel itself.Sampling profiler for Linux that counts cache misses, stalls, memory fetches, etc.Open Source GPLv2
Oracle Solaris Studio Performance AnalyzerLinux, SolarisC, C++, Fortran, Java; MPIPerformance and memory profiler.Proprietary freeware
perf toolsLinux kernel 2.6.31+Sampling profiler with support of hardware events on several architectures.GPL
Performance Application Programming Interface VariousLibrary for hardware performance counters on modern microprocessors.
LIKWIDLinuxC/C++, Fortran, Python, Java and LuaToolsuite of command line applications and library for performance oriented programmers.GPLv3
Pin by IntelLinux, Windows, macOS, AndroidDynamic binary instrumentation system that allows users to create custom program analysis tools.Proprietary but free for non-commercial use
Rational PurifyPlusAIX, Linux, Solaris, WindowsPerformance profiling tool, memory debugger and code coverage tool.Proprietary
ScalascaLinuxC/C++, FortranParallel trace analyser.Free/open source
Shark by ApplemacOS Performance analyzer.Proprietary freeware
Windows, Xbox OneC, C++Next-generation sampling profiler, built with usability and scalability in mind.Proprietary
SystemtapLinuxProgrammable system tracing/probing tool; may be scripted to generate time- or performance-counter- or function-based profiles of the kernel and/or its userspace.Open source
Linux, macOS, WindowsC, C++, Python, FortranModular C++ toolkit for creating scalable custom instrumentation and sampling tools for performance analysis. Designed to minimize overhead by adapting to the interface of each performance analysis component at compile-time and simplify adding support for invocation and data storage within multi-threaded and multi-process runtimes. Includes many pre-built components for timing, resource usage, hardware-counters, Roofline Model, and the instrumentation APIs for VTune, Intel Advisor, LIKWID, and Arm MAP, among others. Components can be arbitrarily bundled together into a single handle for collective invocations and input argument broadcasting. Python bindings are provided for every component as a stand-alone class for implementing low-overhead Python profiling tools. Profiling via dynamic instrumentation is available on Linux.Free/Open-source
ValgrindLinux, macOS, Solaris, AndroidAny, including assemblerSystem for debugging and profiling; supports tools to either detect memory management and threading bugs, or profile performance. KCacheGrind, valkyrie and alleyoop are front-ends for valgrind.Free/open source
VTune Profiler by Intel Corporation
Linux, Windows, viewer only for macOSC, C++, C#, Fortran,.NET, Java, Python, Go, ASM AssemblyA collection of profiling analyses implemented with sampling, instrumentation and processor trace technologies.  Includes Hotspot, Threading, HPC, I/O, FPGA, GPU, System, Throttling and Microarchitecture analyses.Freeware and Proprietary. Also available as a part of Intel Parallel Studio.

by MicrosoftWindowsProprietary freeware
RotateRight ZoomLinux, macOS, Viewer Only for WindowsSupports most compiled languages on ARM and x86 processors.Graphical and command-line statistical profiler.
VisualSimLinux, macOS, Microsoft WindowsSupports C/C++/SystemCGraphical modeling and Simulation platform to select, analyze and validate architecture of complex electronics systems for performance, power and reliability.Proprietary

C and C++