Performance:Tools: Difference between revisions
Jump to navigation
Jump to search
(→Profiling tools: add Shark too) |
(mention a bunch of other tools too) |
||
| Line 4: | Line 4: | ||
* [https://developer.mozilla.org/Profiling_with_AMD_CodeAnalyst AMD CodeAnalyst] (Windows) | * [https://developer.mozilla.org/Profiling_with_AMD_CodeAnalyst AMD CodeAnalyst] (Windows) | ||
* Xperf (Windows) | |||
* vtune (Windows) | |||
* [https://developer.mozilla.org/en/Profiling_JavaScript_with_Shark Shark] (Mac) | * [https://developer.mozilla.org/en/Profiling_JavaScript_with_Shark Shark] (Mac) | ||
* [http://valgrind.org/docs/manual/cl-manual.html callgrind] (part of valgrind) | |||
* oprofile (Linux) | |||
* sysprof (Linux) | |||
* gprof (Linux) | |||
* [http://www.mozilla.org/performance/jprof.html jprof]. Sampling profiling tool by [mailto:jim_nance@yahoo.com Jim Nance] that runs on 32-bit Linux. | |||
* [http://www.ibm.com/software/awdtools/purifyplus/ Rational PurifyPlus]. (Commercial) Used to be called Rational Quantify. | * [http://www.ibm.com/software/awdtools/purifyplus/ Rational PurifyPlus]. (Commercial) Used to be called Rational Quantify. | ||
** [http://www.mozilla.org/performance/qfy2html.pl qfy2html.pl]. A Perl script for munging Quantify 6.0 output into hyperlinked HTML to share with your friends. Run Quantify, save your results as text, and then let this thing rip. | ** [http://www.mozilla.org/performance/qfy2html.pl qfy2html.pl]. A Perl script for munging Quantify 6.0 output into hyperlinked HTML to share with your friends. Run Quantify, save your results as text, and then let this thing rip. | ||
| Line 11: | Line 18: | ||
* [http://alisa.ucsd.edu/cgi/webman?SEARCH+man5+hiprof.5.gz hiprof]. A hierarchical instruction profiler for Digital Unix. There is an [http://www.mozilla.org/performance/atom/atom.html online tutorial], courtesy [mailto:jim_nance@yahoo.com Jim Nance] (jim_nance@yahoo.com): | * [http://alisa.ucsd.edu/cgi/webman?SEARCH+man5+hiprof.5.gz hiprof]. A hierarchical instruction profiler for Digital Unix. There is an [http://www.mozilla.org/performance/atom/atom.html online tutorial], courtesy [mailto:jim_nance@yahoo.com Jim Nance] (jim_nance@yahoo.com): | ||
** "I like it because it does not require you to recompile the program, because it give accurate times for callers, and because it comes with DU so that everyone developing there should already have it." [news://news.mozilla.org/slrn7jop6f.jlq.jlnance%40Bessie.acs.uncwil.edu *] | ** "I like it because it does not require you to recompile the program, because it give accurate times for callers, and because it comes with DU so that everyone developing there should already have it." [news://news.mozilla.org/slrn7jop6f.jlq.jlnance%40Bessie.acs.uncwil.edu *] | ||
* [http://www.mozilla.org/performance/measureStartup.html MOZ_TIMELINE] Timing instrumentation. Extremely useful for app startup measurements. | * [http://www.mozilla.org/performance/measureStartup.html MOZ_TIMELINE] Timing instrumentation. Extremely useful for app startup measurements. | ||
* [http://www.mozilla.org/performance/eazel.html eazel profilers]. Two profiling tools from Eazel/gnome.org, runs on Linux. | * [http://www.mozilla.org/performance/eazel.html eazel profilers]. Two profiling tools from Eazel/gnome.org, runs on Linux. | ||
Revision as of 22:52, 22 September 2009
Profiling tools
The following tools are used to measure product performance.
- AMD CodeAnalyst (Windows)
- Xperf (Windows)
- vtune (Windows)
- Shark (Mac)
- callgrind (part of valgrind)
- oprofile (Linux)
- sysprof (Linux)
- gprof (Linux)
- jprof. Sampling profiling tool by Jim Nance that runs on 32-bit Linux.
- Rational PurifyPlus. (Commercial) Used to be called Rational Quantify.
- qfy2html.pl. A Perl script for munging Quantify 6.0 output into hyperlinked HTML to share with your friends. Run Quantify, save your results as text, and then let this thing rip.
- Quantifying Mozilla on Solaris. Instructions on how to make Quantify play nicely with Mozilla on Solaris.
- For performance work on Mac, you can use either the Metrowerks Profiler (on subsets of the codebase), or Apple's Instrumentation SDK. For details, see the page on Mac performance.
- hiprof. A hierarchical instruction profiler for Digital Unix. There is an online tutorial, courtesy Jim Nance (jim_nance@yahoo.com):
- "I like it because it does not require you to recompile the program, because it give accurate times for callers, and because it comes with DU so that everyone developing there should already have it." *
- MOZ_TIMELINE Timing instrumentation. Extremely useful for app startup measurements.
- eazel profilers. Two profiling tools from Eazel/gnome.org, runs on Linux.
- JS Runtime Profiler. Profile JavaScript usage, dumps output to a file.
- Sysinternals utilities. Win9x/Me/NT/2K utilites for monitoring system usage. CPU/Mon, Diskmon, Filemon, Regmon, etc.
- gprof. Part of the GNU Binutils. Back in May 1999 there were rumors that gprof had trouble with dynamically linked and loaded objects (like Mozilla). Currently (March 2006) gprof is still being developed, so hopefully that's no longer true (assuming it ever was). The link to the gprof manual above is *years* out of date but, at the time of writing, it's the latest version of the manual on gnu.org. To get an up to date version of the manual, get the gprof source and run |. configure; make html| in the gprof source directory.