You are here: Mozilla Quality Assurance > Help Mozilla Performance
Help Mozilla Performance
We need help identifying performance problems in Mozilla. We also need data: timing data, so we know how much the performance problem affects usability, and profiling data, so we can start pinpointing where the problem may be. How can you help:
Report Performance Bugs
If you have noticed a performance problem, first check the list of performance bugs. If you can't find a bug for your problem, please file one. If you do find your bug, you can always add data that will make the bug more useful.
In addition to all the normal bug stuff, the kind of information that you should put in a performance bug report includes:
- Mozilla Build ID (the number in the lower-right hand corner of your browser window)
- Platform, operating system, processor, amount of memory
- Steps / URLs that demonstrate the problem
- How long it takes to perform the test in Mozilla
- How long it takes to perform the same test in Navigator 4.x
- Please edit any performance bug you file, and add the perf keyword to the Keywords field so we can find and track performance problems.
Provide Profiling Information
If you are running on Linux, you can generate information using Jprof, the Mozilla profiling tool.
- Check out Jprof, the profiling tool, build Mozilla with the profiler enabled, and set up your environment.
- Pick something to profile from the laundry list of performance bugs. For example, you might want to help figure out why scrolling is slow as described in bug 19467. In that bug, it says scrolling with the arrow keys or MS mouse wheel seems very slow compared to Navigator 4.x.
- Start Mozilla, and do a trial run of your test. You'll need a
watch to measure time in seconds. You will need to measure:
- Number of seconds from the time you start Mozilla until the
time you are ready to begin your test.
For example, to test scrolling, you will need to start Mozilla and load a long page. You want to know how many seconds it takes from the time you start Mozilla until that page is loaded.
- Number of seconds from the beginning of the test until the end
of the test.
Once the page is loaded, restart your timer. Scroll to the bottom using the down arrow on your keyboard. Stop timing when you reach the bottom of the page.
- Number of seconds from the time you start Mozilla until the time you are ready to begin your test.
- Set the jprof flags as described in the
instructions. For example,
setenv JPROF_FLAGS "JP_START JP_FIRST=20"
The value of JP_FIRST should be the first time you measured.
- Restart Mozilla. This time, since you've set JPROF_FLAGS to include JP_START, profiling will be enabled. Run the test, and shut down Mozilla.
- Generate the readable output:
./jprof mozilla-bin ./jprof-log > output.html
- Attach output to the bug. Include the steps you used to generate that data, and how long it took to complete the test. It would also be interesting to know how long it takes to complete the same test in Navigator 4.x.