List of performance analysis tools
Encyclopedia
This is a list of performance analysis
Performance analysis
In software engineering, profiling is a form of dynamic program analysis that measures, for example, the usage of memory, the usage of particular instructions, or frequency and duration of function calls...

 tools for use in software development
Software development
Software development is the development of a software product...

.

Multiple languages

The following tools work for multiple languages or binaries.
  • Acumem SlowSpotter
    Acumem SlowSpotter
    Acumem SlowSpotter and Acumem ThreadSpotter are tools from Acumem, which diagnose performance problems related to data locality, cache utilization and thread interactions....

     and Acumem ThreadSpotter are tools from Acumem, which diagnose performance problems related to data locality
    Locality of reference
    In computer science, locality of reference, also known as the principle of locality, is the phenomenon of the same value or related storage locations being frequently accessed. There are two basic types of reference locality. Temporal locality refers to the reuse of specific data and/or resources...

    , cache utilization
    Cache
    In computer engineering, a cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere...

     and thread interactions. Supports most compiled languages on Linux and Solaris including Ada.
  • AQtime
    AQtime
    AQtime is a performance profiler and memory/resource debugging toolset developed by SmartBear Software. It is integrated into Microsoft Visual Studio, Visual Studio Test Projects and Embarcadero RAD Studio that allows analyzing the application without leaving the development environment.- Overview...

     is a performance profiler and memory/resource debugging toolset for .NET 1.0, 1.1, 2.0, 3.0, 3.5 applications (including ASP.NET applications), Windows 32- and 64-bit applications including C, C++, Delphi for Win32 and VBScript and JScript functions.
  • CodeAnalyst
    CodeAnalyst
    AMD CodeAnalyst is a GUI-based code profiler for x86-based machines. CodeAnalyst has similar look and feel on both Linux and Microsoft Windows platforms...

     as a free GUI based code profiler for AMD hardware x86 based machines from AMD.
  • Caliper is a profiling tool from HP for application running on HP-UX
    HP-UX
    HP-UX is Hewlett-Packard's proprietary implementation of the Unix operating system, based on UNIX System V and first released in 1984...

     with Intel Itanium Integrity platform (IA-64).
  • DevPartner
    DevPartner
    DevPartner is a set of software development and testing tools developed by Nu-Mega Technologies, acquired by Compuware Corporation in 1997, which on June 1, 2009 sold it to Micro Focus International...

     is Micro Focus's test suite for both .NET and Java that automatically detects and diagnoses software defects and performance problems.
  • DTrace
    DTrace
    DTrace is a comprehensive dynamic tracing framework created by Sun Microsystems for troubleshooting kernel and application problems on production systems in real time...

     is a comprehensive dynamic tracing framework created by Sun Microsystems
    Sun Microsystems
    Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

     for troubleshooting kernel and application problems on production systems in real time. Originally developed for Solaris, it has since been released under the free Common Development and Distribution License
    Common Development and Distribution License
    Common Development and Distribution License is a free software license, produced by Sun Microsystems, based on the Mozilla Public License , version 1.1....

     (CDDL) and has been ported to several other Unix-like systems.
  • DynInst
    DynInst
    DynInst is a multi-platform runtime code-patching library developed at the University of Wisconsin–Madison and University of Maryland, College Park. It may be useful in the development of performance measurement tools, debuggers, and simulators. The most recent release is Version 7.0....

     is an api to allow dynamic injection of code into a running program.
  • gprof, the GNU Profiler, is part of GNU Binutils
    GNU Binary Utilities
    The GNU Binary Utilities, or binutils, comprise a collection of programming tools for the manipulation of object code in various object file formats. The current versions were originally written by programmers at Cygnus Solutions using the Binary File Descriptor library...

     (which are part of the GNU Project
    GNU Project
    The GNU Project is a free software, mass collaboration project, announced on September 27, 1983, by Richard Stallman at MIT. It initiated GNU operating system development in January, 1984...

    ). 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. gprof works for any language supported by the GNU Compiler Collection
    GNU Compiler Collection
    The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...

     (gcc).
  • Linux Trace Toolkit
    Linux Trace Toolkit
    The Linux Trace Toolkit is a set of tools that is designed to log program execution details from a patched Linux kernel and then perform various analyses on them, using console-based and graphical tools...

    , the Linux Trace Toolkit, collects data on processes blocking, context switches, and execution time. This helps identify performance problems over multiple processes or threads.
  • nmon
    Nmon
    nmon is a popular system monitor tool for the AIX and Linux operating systems.- Description :The original nmon was a freely downloadable tool for AIX 4.3 from the AIX wiki. It was also rewritten for the Linux operating system running on IA-32, x86-64, RS/6000 and Power processor and Mainframe and...

     (short for Nigel's Monitor) is a popular system monitor tool for the AIX and Linux operating systems.
  • OProfile is a sampling profiler for Linux that counts cache misses, stalls, memory fetches, etc. It profiles everything running on the Linux system, including hard-to-profile programs such as interrupt handlers and the kernel itself.
  • Paraver is a performance analysis tool based on trace files. It allows viewing the progress of the application in a temporal axis and also perform accumulation of performance metrics in a table like regular profilers.
  • PGPROF from The Portland Group provides sampling and compiler-based instrumentation for application profiling of C, C++, and Fortran applications using OpenMP and MPI parallelism on Linux, Windows, and Mac.
  • PmcTools provides FreeBSD's developers and system administrators with non-intrusive, low-overhead and innovative ways of measuring and analysing system performance. It exploits the same underlying counters as Linux' OProfile.
  • PAPI
    Performance Application Programming Interface
    In computer science, Performance Application Programming Interface is a portable interface to hardware performance counters on modern microprocessors. It is being widely used to collect low level performance metrics In computer science, Performance Application Programming Interface (PAPI) is a...

     is a portable interface (in the form of a library) to hardware performance counters on modern microprocessors.
  • Rational PurifyPlus is a performance profiling tool for Windows, Linux, Solaris and AIX, in addition to being a memory debugger
    Memory debugger
    A memory debugger is a programming tool for finding memory leaks and buffer overflows. These are due to bugs related to the allocation and deallocation of dynamic memory. Programs written in languages that have garbage collection, such as managed code, might also need memory debuggers, e.g...

     and code coverage
    Code coverage
    Code coverage is a measure used in software testing. It describes the degree to which the source code of a program has been tested. It is a form of testing that inspects the code directly and is therefore a form of white box testing....

     tool.
  • Shark is Apple's free performance analyzer for Macintosh executables. Works on x86 and power. Can use hardware perfmons.
  • Sysprof is a sampling CPU profiler for Linux 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.
  • Valgrind
    Valgrind
    Valgrind is a GPL licensed programming tool for memory debugging, memory leak detection, and profiling. The name valgrind comes from the main entrance to Valhalla in Norse mythology....

     is a GPL'd system for debugging and profiling x86-Linux programs. It supports tools to either detect memory management and threading bugs, or profile performance. It works for any language and the assembler. KCacheGrind, valkyrie and alleyoop are front-ends for valgrind.
  • VTune
    VTune
    Intel VTune Amplifier XE is a commercial application for software performance analysis for 32 and 64-bit x86 based machines, and has both GUI and command line interfaces. It is available for both Linux and Microsoft Windows operating systems...

     Amplifier XE is Intel Corporation
    Intel Corporation
    Intel Corporation is an American multinational semiconductor chip maker corporation headquartered in Santa Clara, California, United States and the world's largest semiconductor chip maker, based on revenue. It is the inventor of the x86 series of microprocessors, the processors found in most...

    's tool for serial and threaded performance analysis. It works with C/C++/Fortran/.NET/Java and other applications on Linux or Windows. 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.
  • Zoom
    RotateRight Zoom
    Zoom is a performance analysis tool for applications running on the Linux operating system from RotateRight. Using statistical profiling, this software diagnoses performance problems related to cpu- and memory-intensive program code....

     is a graphical and command-line statistical (event-based) profiler for Linux from RotateRight. It supports most compiled languages on both PowerPC and x86 processors.

Ada

  • Acumem SlowSpotter
    Acumem SlowSpotter
    Acumem SlowSpotter and Acumem ThreadSpotter are tools from Acumem, which diagnose performance problems related to data locality, cache utilization and thread interactions....

     and Acumem ThreadSpotter
  • AdaNav sometimes bundled with ObjectAda
  • NightTrace and the instrumented RedHawk Linux kernel from Concurrent Computer Corporation
  • RootCause from OC Systems

C and C++

  • Acumem SlowSpotter
    Acumem SlowSpotter
    Acumem SlowSpotter and Acumem ThreadSpotter are tools from Acumem, which diagnose performance problems related to data locality, cache utilization and thread interactions....

     and Acumem ThreadSpotter
  • CodeAnalyst
    CodeAnalyst
    AMD CodeAnalyst is a GUI-based code profiler for x86-based machines. CodeAnalyst has similar look and feel on both Linux and Microsoft Windows platforms...

     is a free performance analyzer from Advanced Micro Devices
    Advanced Micro Devices
    Advanced Micro Devices, Inc. or AMD is an American multinational semiconductor company based in Sunnyvale, California, that develops computer processors and related technologies for commercial and consumer markets...

     for programs on AMD hardware. It also does basic timer-based profiling on Intel processors.
  • CodeTune is a free, easy to use, GUI-based profiler for Windows applications
  • DTrace
    DTrace
    DTrace is a comprehensive dynamic tracing framework created by Sun Microsystems for troubleshooting kernel and application problems on production systems in real time...

     dynamic tracing tool for Solaris, FreeBSD, Mac OS X and other operating systems.
  • GlowCode
    GlowCode
    GlowCode is a performance and memory/resource profiler developed by Electric Software Inc.- Overview :GlowCode is used by software developers to analyze and optimize application performance, speed and resource use...

     is a performance and memory profiler for C++, C# and other .NET languages. It identifies time-intensive functions and detects memory leaks and errors in native, managed and mixed Windows x64 and x86 applications.
  • Insure++
    Insure++
    Insure++ is a memory debugger computer program, used by software developers to detect various errors in programs written in C and C++. It is made by Parasoft, and is functionally similar to other memory debuggers, such as Purify and Valgrind.-Overview:...

     is Parasoft's runtime memory analysis and error detection tool. Its Inuse component provides a graphical view of memory allocations over time, with specific visibility into overall heap usage, block allocations, possible outstanding leaks, etc.
  • Parallel Studio from Intel contains Parallel Amplifier, which tunes both serial and parallel programs. It also includes Parallel Inspector, which detects races, deadlocks and memory errors. Parallel Composer includes codecov, a command line coverage tool.
  • Very Sleepy, a simple yet effective profiler which can profile any native Windows application with built-in debugging information (without need for recompilation). It is released under GPL.
  • Visual Studio Team System Profiler is Microsoft's commercial profiler
  • VTune
    VTune
    Intel VTune Amplifier XE is a commercial application for software performance analysis for 32 and 64-bit x86 based machines, and has both GUI and command line interfaces. It is available for both Linux and Microsoft Windows operating systems...

     from Intel for optimizing performance across Intel architectures.
  • Google-PerfTools which you can test Heap, CPU and Memory. Has some problems on 64 bit Linux (libunwind problem).

Java

  • AppPerfect Java Profiler see http://www.appperfect.com/products/java-profiler.html
  • CollectionSpy, a profiler that focuses exclusively on the Java Collections Framework
    Java collections framework
    The Java collections framework is a set of classes and interfaces that implement commonly reusable collection data structures.Although it is a framework, it works in a manner of a library...

    .
  • Eclipse Memory Analyzer, a memory analysis tool that also has some performance related features.
  • Eclipse TPTP
  • JProbe, an enterprise class Java profiler by Quest Software
    Quest Software
    Quest Software is a computer software manufacturer headquartered in Aliso Viejo, California. Founded in 1987, Quest develops, manufactures and supports software used by Information Technology professionals in a variety of industries...

  • JProfiler
    JProfiler
    JProfiler is a commercially licensed Java profiling tool developed by ej-technologies GMBH targeted at Java EE and Java SE applications.-Features:...

  • JRockit Mission Control, a profiler with low overhead.
  • mBProfiler, a profiler suitable for embedded devices
  • Netbeans Profiler, a profiler integrated into the NetBeans
    NetBeans
    NetBeans refers to both a platform framework for Java desktop applications, and an integrated development environment for developing with Java, JavaScript, PHP, Python, Groovy, C, C++, Scala, Clojure, and others...

     IDE (internally uses jvisualvm profiler)
  • OKTECH Profiler, an open-source, sampling and instrumentation Java profiler for Java 5+ applications; local or remote profiling; optional commercial support.
  • RootCause and RTI from OC Systems
  • VisualVM
    VisualVM
    VisualVM is a tool that provides a visual interface for viewing detailed information about Java applications while they are running on a Java Virtual Machine...

     is the profiler which comes with the Java Development Kit
    Java Development Kit
    The Java Development Kit is an Oracle Corporation product aimed at Java developers. Since the introduction of Java, it has been by far the most widely used Java SDK. On 17 November 2006, Sun announced that it would be released under the GNU General Public License , thus making it free software...

    , it supports all needed features.

JavaScript

  • AjaxView
    AjaxView
    AjaxView is an Ajax application profiler from Microsoft Research. It installs as a web server plug-in that modifies Ajax scripts on the fly to include performance monitoring and logging code.-External links:*...

     is a free profiling tool for JavaScript
    JavaScript
    JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

     by Microsoft Research
    Microsoft Research
    Microsoft Research is the research division of Microsoft created in 1991 for developing various computer science ideas and integrating them into Microsoft products. It currently employs Turing Award winners C.A.R. Hoare, Butler Lampson, and Charles P...

    .
  • Firebug is a Firefox plug-in for web development, also has a profiler for JavaScript
    JavaScript
    JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

    .
  • Web Inspector, a built-in tool in Webkit based browsers like Apple Safari 3+ and Google Chrome also has a profiler for Javascript
  • Google Speed Tracer part of Google Web Toolkit is a more detailed performance analysis tool capable of capturing in-depth data from browser rendering to Javascript profiling. Although, it is currently available only for developer versions of Google Chrome.

.NET

  • CLR Profiler
    CLR Profiler
    CLR Profiler is a memory profiler for the .NET Framework from Microsoft. It allows the user to investigate the contents of the managed heap, the behavior of the garbage collector, and the allocation patterns of the program being profiled.The latest version, 4, released in Feb 2011, allows for...

     is a free memory profiler provided by Microsoft for CLR
    Common Language Runtime
    The Common Language Runtime is the virtual machine component of Microsoft's .NET framework and is responsible for managing the execution of .NET programs. In a process known as just-in-time compilation, the CLR compiles the intermediate language code known as CIL into the machine instructions...

     applications.
  • EQATEC Profiler is a performance profiler for .NET, Windows Phone7, .NET CF and Silverlight, free and licensed versions
  • GlowCode
    GlowCode
    GlowCode is a performance and memory/resource profiler developed by Electric Software Inc.- Overview :GlowCode is used by software developers to analyze and optimize application performance, speed and resource use...

     is a performance and memory profiler for .NET applications using C# and other .NET languages. It identifies time-intensive functions and detects memory leaks and errors in native, managed and mixed Windows x64 and x86 applications.
  • JetBrains
    JetBrains
    JetBrains is a Czech software development company with offices in Prague, Czech Republic; Saint Petersburg, Russia; Boston, USA and Munich, Germany...

     dotTrace Profiler, a commercial performance and memory profiler for .NET
  • NProf NProf was an open source statistical profiler for .NET. It is no longer actively developed
  • Red Gate ANTS Performance Profiler is a commercial profiler for .NET
  • SlimTune A free profiling and performance tuning tool for .NET applications with an open source MIT License
  • SpeedTrace Pro
    SpeedTrace Pro
    SpeedTrace Pro is a performance analysis and tracing solution for the .NET Framework from Microsoft used by software developers and testers to measure software performance, identify bottlenecks and detect root causes of runtime issues.-See also:...

     is a commercial performance analysis and tracing tool for .NET
  • Telerik JustTrace is a commercial performance and memory profiler for .NET
  • Visual Studio

Oracle Database

  • Method R Profiler is a commercial response time profiler for Oracle SQL trace files.
  • MR Tools is a commercial suite of utilities for manipulating and mining Oracle SQL trace files.
  • MR Trace is a commercial extension for Oracle SQL Developer that collects and manages Oracle SQL trace files.
  • tkprof is a command-line utility distributed by Oracle Corporation
    Oracle Corporation
    Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

    , which formats Oracle SQL trace output into human readable format.

PHP

  • Dbg
    Dbg
    DBG is an open source debugger and profiler for the PHP programming language. It is the debugger used in NuSphere's PhpED .-Features:* Remote and local debugging* Explicit and implicit activation...

  • Xdebug
    Xdebug
    Xdebug is a PHP extension which provides debugging and profiling capabilities. It uses the DBGp debugging protocol.The debug information that Xdebug can provide includes the following:* stack and function traces in error messages with:...

     is a PHP
    PHP
    PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

     extension which provides debugging and profiling capabilities.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK