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 (18761972)