Performance:Tinderbox Tests

From MozillaWiki
Revision as of 21:12, 17 March 2006 by VladVukicevic (talk | contribs) (Add Tr/Tgfx/Tsvg)
Jump to navigation Jump to search

Original document imported from http://www.mozilla.org/performance/tinderbox-tests.html and original author is Chris McAfee <mcafee@netscape.com>.

Notes before starting

  • When running these tests on your local machine, be sure to turn off extra stuff to reduce noise in your results. This means, irc, browsers, aim, httpd, things like that.
  • Test with an optimized build. --enable-optimize, --disable-debug
  • Running X & twm will reduce gnome noise.
  • Install the Time::HiRes perl module for better timer resolution (see mozilla/tools/performance/startup/gettime.pl).
  • Set this pref for stdout test output: user_pref("browser.dom.window.dump.enabled", true);
  • In the commands below, <appname> is firefox or seamonkey or mozilla or whatever you're testing.

Ts: Startup time

This test passes in begin time as a cgi argument, and JS onload handler in startup-test.html computes the end time.

   cvs co mozilla/tools/performance/startup
   startup-unix.pl <path>/dist/bin/<appname>

Txul: XUL window open time

10 windows are opened/closed and median and average times are printed.

   <appname> -chrome "file://<path>/mozilla/xpfe/test/winopen.xul"

Tp: Pageloader time

jrgm's pageload test. You need to set up a server to run this. [How does one do that??] Point your browser at this server and it crunches for up to 15-20 min depending on your machine speed, and produces a graph and average time value.

If you have a slow machine (e.g. < 300MHz) you may need to increase the timeout value from 15000 to say 30000.

Tdhtml: DHTML performance

This test runs a number of DHTML testcases several times, then prints out median and average times for each testcase, as well as the raw data, and the geometric mean of the median times. To run, just load the test driver.

Classic (refcnt) Bl/Lk: Bloat & Leak numbers

For a non-debug build, add this to your .mozconfig:

 ac_add_options --enable-logrefcnt

and reconfigure and rebuild. Then run the app on the bloaturls list of urls:

 <appname> resource:///res/bloatcycle.html

Bloat and leak summaries dumped out to stdout. If you want to compare two runs (e.g. test a change) do something like this:

 cvs co mozilla/tools/tinderbox/bloatdiff.pl
 <appname> resource:///res/bloatcycle.html > a.out
   **make change**
 <appname> resource:///res/bloatcycle.html > b.out
 bloatdiff.pl a.out b.out

Trace-Malloc Bl/Lk: Bloat & Leak numbers

Add this to your .mozconfig:

 mk_add_options MOZ_CO_MODULE="mozilla/tools/trace-malloc"
 ac_add_options --enable-trace-malloc

Then do:

 cvs co mozilla/tools/trace-malloc

and rebuild. Then run the app on the bloaturls list of urls:

 <appname> resource:///res/bloatcycle.html

Bloat and leak summaries dumped out to stdout. More info about both bloat tests in the leak brownbag.

Tr/Tgfx/Tsvg: Rendering Performance numbers

These numbers measure raw rendering speed, without network or layout overhead. See Mozilla2:Trender for more information.