List of Performance Analysis Tools - Multiple Languages

Multiple Languages

The following tools work for multiple languages or binaries.

Name/Manufacturer OS Compiler/Language What It Does License
AQtime by SmartBear 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
CodeAnalyst by AMD AMD, Intel hardware x86 based machines Linux, Windows GUI based code profiler; does only basic timer-based profiling on Intel processors. Based on OProfile. Free/open source (GPL) or proprietary
Caliper by HP HP-UX with Intel Itanium Integrity platform (IA-64). Profiling tool
DevPartner by Borland / Micro Focus .NET, Java Test suite that automatically detects and diagnoses software defects and performance problems. Proprietary
DTrace by Sun Microsystems Solaris, Linux, BSD, Mac OS X Comprehensive dynamic tracing framework for troubleshooting kernel and application problems on production systems in real time. Free/open source (CDDL)
dynaTrace by Compuware .NET, Java, AJAX (for web sites) Application Performance Management Proprietary
DynInst Linux, Windows, BlueGene/Q API to allow dynamic injection of code into a running program Free/open source
GlowCode Windows 64-bit and 32-bit applications, C, C++, .NET, and dlls generated by any language compiler. Performance and memory profiler which identifies time-intensive functions and detects memory leaks and errors Proprietary
gprof Linux/Unix Any language supported by gcc 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 which interfaces with gprof is KProf. Free/open source - BSD version is part of 4.2BSD and GNU version is part of GNU Binutils (by GNU Project)
Linux Trace Toolkit Linux Requires patched kernel Collects data on processes blocking, context switches, and execution time. This helps identify performance problems over multiple processes or threads. Superceded by LTTng.
LTProf Windows Visual C++, Borland CBuilder, Delphi and VB applications CPU profiling tool
LTTng (Linux Trace Toolkit Next Generation) Linux System software package for correlated tracing of kernel, applications and libraries
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 Studio Performance Analyzer Linux, Solaris C, C++, Fortran, Java; MPI Performance and memory profiler
Paraver Linux, Mac OS X, Windows For parallel computing clusters Performance analysis tool based on trace files; allows viewing the progress of the application in a temporal axis and also perform accumulation of performance metrics in a table like regular profilers. Free/open source (LGPL)
PGPROF by The Portland Group Linux, MacOS X, Windows C, C++, and Fortran applications using OpenMP and MPI parallelism Sampling and compiler-based instrumentation for application profiling Proprietary
PmcTools FreeBSD Provides non-intrusive, low-overhead and innovative ways of measuring and analysing system performance. It exploits the same underlying counters as Linux' OProfile.
perf tools Linux kernel 2.6.31+ Sampling profiler
Performance Application Programming Interface (PAPI) Various Library for hardware performance counters on modern microprocessors
Pin by Intel Linux, Windows Dynamic binary instrumentation system that allows users to create custom program analysis tools Proprietary but free for non-commercial use
pprof, part of gperftools by Google Sampling profiler with context-sensitive call graph capability.
Rational PurifyPlus AIX, Linux, Solaris, Windows Performance profiling tool, memory debugger and code coverage tool Proprietary
Shark by Apple Mac OS X (discontinued with 10.7) Performance analyzer Free
Shiny Cross-platform C, C++, Lua Performance analyzer with call graphs and time allocations Free/open source (MIT license)
SlowSpotter and ThreadSpotter by Acumem Linux, Solaris Most compiled languages including Ada Diagnose performance problems related to data locality, cache utilization and thread interactions.
Sysprof Linux Sampling CPU profiler that uses a kernel module to profile the entire system, as opposed to a single application. It displays the time spent in each branch of the applications' calltrees.
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.
Valgrind Linux 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 Amplifier XE by Intel Corporation Linux, Windows C, C++, Fortran, .NET, Java Tool for serial and threaded performance analysis. Hotspot, call tree and threading analysis works on both Intel and AMD x86 processors. Hardware event sampling that uses the on chip performance monitoring unit requires an Intel processor. Proprietary
Windows Performance Analysis Toolkit by Microsoft Windows Freeware/proprietary
RotateRight Zoom Linux Supports most compiled languages on ARM and x86 processors. Graphical and command-line statistical (event-based) profiler

Read more about this topic:  List Of Performance Analysis Tools

Famous quotes containing the words multiple and/or languages:

    Creativity seems to emerge from multiple experiences, coupled with a well-supported development of personal resources, including a sense of freedom to venture beyond the known.
    Loris Malaguzzi (20th century)

    It is time for dead languages to be quiet.
    Natalie Clifford Barney (1876–1972)