- List of performance analysis tools
This is a list of
performance analysis tools for use insoftware development .Multiple languages
The following tools work for multiple languages or binaries.
*Valgrind is a GPL'd system for debugging and profiling x86-Linux programs. You can automatically detect many memory management and threading bugs. It works for any language and the assembler. valkyrie and alleyoop are front-ends for valgrind.
* PAPI is a portable interface (in the form of a library) to hardware performance counters on modern microprocessors.
*DynInst is an api to allow dynamic injection of code into a running program.
*gprof , the GNU Profiler, is part of GNU Binutils (which are part of theGNU Project ). 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 isKProf . gprof works for any language supported by theGNU Compiler Collection (gcc).
* [http://perfsuite.ncsa.uiuc.edu/ PerfSuite] is a collection of tools, utilities, and libraries for software performance analysis
* [http://www.hipersoft.rice.edu/hpctoolkit/ HPCToolkit] is an open-source suite of multi-platform tools for profile-based performance analysis of applications.
*DevPartner isCompuware 's test suite for both .NET and Java that automatically detects and diagnoses software defects and performance problems.
*AjaxView [http://research.microsoft.com/projects/ajaxview/] is a free profiling tool forJavaScript byMicrosoft Research .
* [http://www.cs.uoregon.edu/research/tau/home.php TAU] : a portable profiling and tracing toolkit for performance analysis of parallel programs written in Fortran, C, C++, Java, Python.
* [http://www.alphaworks.ibm.com/tech/vpa Visual Performance Analyzer] : an Eclipse-based performance analysis GUI tool. It supports many performance tools like Performance Inspector toolset, AIX tprof/hpmcount/hpmstat, oprofile, cpc/PDT/FDPR-Pro/oprofile in Cell SDK. It also supports profile analysis, hotspot locating, Performance Monitoring Counter data analysis, trace analysis of programs written in Fortran, C, C++ and Java on AIX, Linux, Linux on Cell BE.C and C++
*
CodeAnalyst is a free performance analyzer fromAdvanced Micro Devices for programs on AMD hardware.
*DTrace dynamic tracing tool for Solaris, FreeBSD, Mac OS X and other operating systems.
*Insure++ 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.
* Shark is Apple's free performance analyzer for Macintosh executables.
* [http://sourceforge.net/projects/shinyprofiler Shiny: C++ profiler] is a free performance analyzer, multiplatform and lightweight, so it's easy to add to existing projects. Additionally to classic summary of gathered performance data after exit of application, you can also display the gathered data real time in your application with the exponential moving average over time.
*Visual Studio Team System Profiler is Microsoft's commercial profiler offering
* [http://www.rotateright.com Zoom] a low-overhead graphical and command-line profiler for Linux. Zoom analyzes and annotates your code with specific tuning advice for many compilers and processors.Java
*
JRockit Mission Control , a profiler with low overhead.
* Netbeans Profiler, a profiler integrated into theNetBeans IDE.NET
*
CLR Profiler is a free memory profiler provided by Microsoft for CLR applications.
*JetBrains dotTrace Profiler, a commercial performance and memory profiler for .NET
*Visual Studio Team System Profiler is Microsoft's commercial profiler offeringPHP
*
Dbg Perl
* [http://search.cpan.org/~ilyaz/DProf-19990108/DProf.pm Devel::DProf] - Perl module and associated command line tools to profile Perl scripts. Collects information on the execution time of a Perl script and of the subs in that script. This information can be used to determine which subroutines are using the most time and which subroutines are being called most often. This information can also be used to create an execution graph of the script, showing subroutine relationships.
* [http://search.cpan.org/~timb/Devel-NYTProf-2.03/lib/Devel/NYTProf.pm Devel::NYTProf] - Powerful feature-rich perl source code profiler. NYTProf is effectively two profilers in one: a statement profiler, and a subroutine profiler.
* [http://search.cpan.org/~pjcj/Devel-Cover-0.64/lib/Devel/Cover.pm Devel::Cover] - Code coverage metrics for Perl. Code coverage metrics describe how thoroughly tests exercise code. By using Devel::Cover you can discover areas of code not exercised by your tests and determine which tests to create to increase coverage.MPI
* [http://mpip.sourceforge.net/ mpiP] : a lightweight profiling library for MPI applications.
* [http://www.vampir.eu Vampir] : tools to show MPI communication informationee also
*
Performance analysis External links
* [https://computing.llnl.gov/tutorials/performance_tools/ Performance Analysis Tools] , article from the
Lawrence Livermore National Laboratory
Wikimedia Foundation. 2010.