Performance/Pageloader: Difference between revisions
(Created page with 'The pageloader component is the core of many of the performance tests that we run via Talos and otherwise, including Tp3, Tsvg, Tgfx, and others. == Installation == If you have...') |
No edit summary |
||
| Line 14: | Line 14: | ||
If you wish to examine or modify the pageloader, the code lives in [http://hg.mozilla.org/mozilla-central/file/tip/layout/tools/pageloader mozilla/layout/tools/pageloader]. You can either manually run make inside that directory in your objdir. | If you wish to examine or modify the pageloader, the code lives in [http://hg.mozilla.org/mozilla-central/file/tip/layout/tools/pageloader mozilla/layout/tools/pageloader]. You can either manually run make inside that directory in your objdir. | ||
== Running == | |||
The pageloader is driven by a manifest file and a set of command line flags. Running ./firefox -help shows the pageloader options, all of which start with "-tp". If these aren't present, then the pageloader components are not available or correctly installed. | |||
<h4>-tp <i>file</i></h4> | |||
Required. <i>file</i> contains the manifest of pages to test; see below for more information. | |||
<h4>-tpcycles <i>n</i></h4> | |||
Default: 5. Loop through the selected pages from the manifest <i>n</i> times. | |||
<h4>-tpfilter <i>regexp</i></h4> | |||
Optional. Only include pages from the manifest that match <i>regexp</i>. | |||
<h4>-tpstart <i>n</i></h4> | |||
Optional. Start on the <i>n</i>th entry in the manifest. | |||
<h4>-tpend <i>n</i></h4> | |||
Optional. End on the <i>n<i>th entry in the manifest. | |||
<h4>-tpformat <i>f1,f2,...</i></h4> | |||
Display results in the given formats. Supported formats are <i>text</i>,<i>tinderbox</i>,<i>js</i>,<i>jsfull</i>. See below for samples of each format. | |||
<h4>-tpchrome</h4> | |||
Run tests within the full browser chrome. Without this flag, pages are loaded in a plain toplevel window, without any additional browser functionality enabled. | |||
<h4>-tprender</h4> | |||
Run the render benchmark for each page in the manifest, along with timing page load. This will time how long it takes to redraw each page once it's already been loaded, and is most useful for measuring rendering speed. | |||
<h4>-tpwidth <i>width</i>, -tpheight <i>height</i></h4> | |||
Run the tests in a window of <i>width</i> x <i>height</i>. Default: 1024x768. | |||
<h4>-tpoffline</h4> | |||
Force the browser into offline mode while running tests, to ensure that no network connections are created. | |||
<h4>-tpnoisy</h4> | |||
Dump the last loaded page to the console as the test progresses. | |||
<h4>-tptimeout <i>n</i></h4> | |||
Default: none. Maximum amount of time to wait for a page to load, in milliseconds; if the page takes longer than this to load, abort. | |||
<h4>-tpnoforcecc</h4> | |||
Don't force cycle collection between each pageload. If this isn't done, pageload times can be skewed due to cycle collection kicking in while a page is loading. In normal browsing usage, CC is done during times when the user is idle. | |||
Revision as of 21:16, 3 April 2009
The pageloader component is the core of many of the performance tests that we run via Talos and otherwise, including Tp3, Tsvg, Tgfx, and others.
Installation
If you have a build with --enable-tests, the pageloader component is built and installed by default; no further building is needed. Otherwise, read on.
The net result of the build are three files in the dist directory:
- dist/bin/components/tp-cmdline.js
- dist/bin/chrome/pageloader.jar
- dist/bin/chrome/pageloader.manifest
For an easy install in an existing firefox build (even a binary build such as a nightly), grab the pageloader and reftest files from here, and unzip in the dist/bin directory. The files will get placed into the components or chrome dirs as appropriate.
If you wish to examine or modify the pageloader, the code lives in mozilla/layout/tools/pageloader. You can either manually run make inside that directory in your objdir.
Running
The pageloader is driven by a manifest file and a set of command line flags. Running ./firefox -help shows the pageloader options, all of which start with "-tp". If these aren't present, then the pageloader components are not available or correctly installed.
-tp file
Required. file contains the manifest of pages to test; see below for more information.
-tpcycles n
Default: 5. Loop through the selected pages from the manifest n times.
-tpfilter regexp
Optional. Only include pages from the manifest that match regexp.
-tpstart n
Optional. Start on the nth entry in the manifest.
-tpend n
Optional. End on the nth entry in the manifest.
-tpformat f1,f2,...
Display results in the given formats. Supported formats are text,tinderbox,js,jsfull. See below for samples of each format.
-tpchrome
Run tests within the full browser chrome. Without this flag, pages are loaded in a plain toplevel window, without any additional browser functionality enabled.
-tprender
Run the render benchmark for each page in the manifest, along with timing page load. This will time how long it takes to redraw each page once it's already been loaded, and is most useful for measuring rendering speed.
-tpwidth width, -tpheight height
Run the tests in a window of width x height. Default: 1024x768.
-tpoffline
Force the browser into offline mode while running tests, to ensure that no network connections are created.
-tpnoisy
Dump the last loaded page to the console as the test progresses.
-tptimeout n
Default: none. Maximum amount of time to wait for a page to load, in milliseconds; if the page takes longer than this to load, abort.
-tpnoforcecc
Don't force cycle collection between each pageload. If this isn't done, pageload times can be skewed due to cycle collection kicking in while a page is loading. In normal browsing usage, CC is done during times when the user is idle.