This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "List of performance analysis tools" – news ·newspapers ·books ·scholar ·JSTOR(November 2011) (Learn how and when to remove this message) |
This is a list ofperformance analysis tools for use insoftware development.
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/manufacturer | OS | Compiler/language | What it does | License |
---|---|---|---|---|
AppDynamics byCisco | Linux, Windows, iOS, Android, Azure, AWS, AIX | .NET, Java, PHP, HTML5, ObjectiveC/iOS, Java/Android, C/C++, Apache, Nginx, Cassandra, DataBases | SeeApplication Performance Management. | Proprietary |
Applications Manager byManageEngine | Linux, Windows | Java, PHP, Ruby, .NET, .NET Core, Node.js. | SeeApplication Performance Management. | Proprietary |
AQtime bySmartBear Software | Windows | .NET 1.0 to 4.0 applications (including ASP.NET applications), Silverlight 4.0 applications, Windows 32- and 64-bit applications including C, C++,Delphi for Win32 and VBScript and JScript functions | Performance profiler and memory/resource debugging toolset. | Proprietary |
Arm MAP | Linux | C, 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 withMPI orOpenMP parallelism and scales to very high node counts. | Proprietary |
CodeAnalyst byAMD | Linux, Windows | C, C++, Objective C .NET, Java (works at the executable level) | 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 onOProfile. | Free/open source (GPL) or proprietary |
AMD CodeXL byAMD | Linux, Windows | For GPU profiling and debugging: OpenCL. | A tool suite for GPU profiling, GPU debugger and a static kernel analyzer. | Free/open source (MIT) |
AMD uProf byAMD | Linux, Windows | C, C++, .NET, Java, Fortran | Code profiler, does sampling based profiling on AMD processors. | Proprietary |
DevPartner byBorland /Micro Focus | .NET, Java | Test suite that automatically detects and diagnoses software defects and performance problems. | Proprietary | |
DTrace bySun Microsystems | Solaris, Linux, BSD, macOS | Comprehensive dynamic tracing framework for troubleshooting kernel and application problems on production systems in real time. | Free/open source (CDDL) | |
dynamoRIO by RIO | Linux, Windows | Dynamic binaryinstrumentation framework for the development ofdynamic program analysis tools. | Free/open source - BSD | |
Dynatrace | Linux, Windows, iOS, Android, Azure, AWS, AIX, Solaris, HP/UX, zOS, zLinux | .NET, Java, PHP, HTML5, Ajax (for web sites), Objective-C/iOS, Java/Android, C/C++, CICS, Apache, Nginx, Cassandra, Hadoop, MongoDB, HBase | SeeApplication Performance Management. | Proprietary |
Extrae | Linux, Android | Primarily C/C++/Fortran, but can profile any application linking against supported parallel libraries (e.g. MPI4PY) | 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 |
FusionReactor | Linux, Windows, macOS, AWS, Azure, Google Cloud | Java, ColdFusion, Apache, MongoDB Works with any Language supported by theJVM | PerformsApplication 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 |
GlowCode by Electric Software, Inc. | Windows | 64-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 |
gprof | Linux/Unix | Any language supported bygcc | Several tools with combined sampling and call-graph profiling. A set of visualization tools,VCG tools, uses the Call Graph Drawing Interface (CGDI) to interface with gprof. Another visualization tool that interfaces with gprof isKProf. | Free/open source - BSD version is part of4.2BSD and GNU version is part ofGNU Binutils (byGNU Project) |
HWPMC | FreeBSD 6.0+ | System-level and process-level counting and sampling hardware performance monitoring framework supporting multiple architectures. | BSD | |
Instana | Linux, 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, Kafka | SeeApplication Performance Management. | Proprietary |
Instruments withXcode | macOS | C, 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 Advisor | Linux and Windows. Viewer only on macOS. | C, C++, Data Parallel C++ and Fortran | A collection of design and analysis tools - vectorization (SIMD) optimization, thread prototyping, automated roofline analysis, offload modeling and flow graph analysis | Freeware and Proprietary. Available as part ofIntel oneAPI Base Toolkit. |
Linux Trace Toolkit (LTT) | Linux | Requires patched kernel | Collects data on processes blocking, context switches, and execution time. This helps identify performance problems over multiple processes or threads. Superseded byLTTng. | GPL |
LTTng (Linux Trace Toolkit Next Generation) | Linux | System software package for correlated tracing of kernel, applications and libraries. | GPL/LGPL/MIT | |
OProfile | Linux | Profiles 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 StudioPerformance Analyzer | Linux, Solaris | C, C++, Fortran, Java;MPI | Performance and memory profiler. | Proprietary freeware |
perf tools | Linux kernel 2.6.31+ | Sampling profiler with support of hardware events on several architectures. | GPL | |
Performance Application Programming Interface (PAPI) | Various | Library for hardware performance counters on modern microprocessors. | ||
Pin byIntel | Linux, Windows, macOS, Android | Dynamic binary instrumentation system that allows users to create custom program analysis tools. | Proprietary but free for non-commercial use | |
Rational PurifyPlus | AIX, Linux, Solaris, Windows | Performance profiling tool,memory debugger andcode coverage tool. | Proprietary | |
Scalasca | Linux | C/C++, Fortran | Parallel trace analyser. | Free/open source (BSD license) |
Shark by Apple | macOS (discontinued with 10.7) | Performance analyzer. | Proprietary freeware | |
Superluminal | Windows, Xbox One, PlayStation | C++, Rust, .NET | Performance profiler (sampled or instrumented) and analyzer, focused on game development. | Proprietary |
Systemtap | Linux | Programmable 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 | |
Valgrind | Linux, FreeBSD, Solaris/illumos, macOS, Android | Any, including assembler | System for debugging and profiling; supports tools to either detect memory management and threading bugs, or profile performance (cachegrind and callgrind).KCacheGrind, valkyrie and alleyoop are front-ends for valgrind. | Free/open source (GPL) |
VTune Profiler byIntel Corporation (formerly VTune Amplifier) | Linux, Windows, viewer only for macOS | C, C++, C#, Data Parallel C++ (DPC++), Fortran, .NET, Java, Python, Go, ASM Assembly | A 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 oneAPI base toolkit. |
Windows Performance Analysis Toolkit byMicrosoft | Windows, Linux, Android | System-wide primary Windows performance analysis tool including CPU Sampling, CPU Scheduling, Disk and everything. Can open Linux LTTng and Perf Cpu Sampling traces; as well as Android Perfetto traces via plugins | Proprietary freeware with Linux / Android Open Source plugins | |
RotateRight Zoom | Linux, macOS, Viewer Only for Windows | Supports most compiled languages on ARM and x86 processors. | Graphical and command-line statistical (event-based) profiler. | |
VisualSim | Linux, macOS, Microsoft Windows | Supports C/C++/SystemC | Graphical modeling and Simulation platform to select, analyze and validate architecture of complex electronics systems for performance, power and reliability. | Proprietary |