Performance/Status Meetings/2008-January-16: Difference between revisions
Jump to navigation
Jump to search
Stan Shebs (talk | contribs) (→Performance: correct bug #) |
m (buglinkify) |
||
| (5 intermediate revisions by 4 users not shown) | |||
| Line 27: | Line 27: | ||
* '''AI:dbaron''' Make assertions fatal on new windows leak box. | * '''AI:dbaron''' Make assertions fatal on new windows leak box. | ||
* '''AI:sicking''' Test leaked handles on windows manually using purify. | * '''AI:sicking''' Test leaked handles on windows manually using purify. | ||
* '''AI:sayrer''' Run leak buster while looking for trace-malloc leaks. | * '''AI:sayrer''' Run leak buster while looking for trace-malloc leaks. <B>[didn't get this done--sayrer]</b> | ||
* '''AI:sicking''' to go through and prioritize leak bugs | * '''AI:sicking''' to go through and prioritize leak bugs | ||
== Performance == | == Performance == | ||
* Alix wonders about areas where we improved FF2->FF3. We want this for documentation purposes. | * Alix wonders about areas where we improved FF2->FF3. We want this for documentation purposes. Email alix with any things you know we have improved (@mozilla.com) | ||
** For features page on main mozilla.com website | |||
** For press reviewers' guide | |||
** Needs concrete examples of speedups (pages, percentages, etc.) | |||
** Will wait until b3 to have concrete numbers | |||
** Concrete details: work that's happened, benchmarks that we're using, and what we expect in real-world usage | |||
* | * JPEG/image speedups | ||
** | ** {{bug|411379}}: JPEG color conversion MMX/SSE2 | ||
** Shows perf wins on win32, OSX has bug 412396 | ** Shows perf wins on win32, OSX has {{bug|412396}} | ||
** {{bug|411718}}: avoid buffer copy on JPEG decode | |||
* Perf Bugs for FF3: | * Perf Bugs for FF3: | ||
| Line 46: | Line 52: | ||
* massive Ts regression in 2006 | * massive Ts regression in 2006 | ||
** Ts analysis: {{bug|406810}} | |||
** Related to thread manager landing | ** Related to thread manager landing | ||
** Darin thinks it might be excessive painting. | ** Darin thinks it might be excessive painting. | ||
* Profile Guided Optimization | * Profile Guided Optimization | ||
** WPO turned on for windows (bug 361343) -- nice performance win on XP | ** WPO turned on for windows ({{bug|361343}}) -- nice performance win on XP | ||
** Spidermonkey seems to respond well to PGO under GCC (bug 410994) | ** Spidermonkey seems to respond well to PGO under GCC ({{bug|410994}}) | ||
** sayrer has entire browser building with -fprofile-generate on Linux. no results yet. | ** sayrer has entire browser building with -fprofile-generate on Linux. no results yet. | ||
** dbaron: shipped fx 1.0 with PGO on linux as well, was a 10% perf win... but compiler upgrade + build system breakage stopped us. We need to restart this on linux (and see about OSX). | ** dbaron: shipped fx 1.0 with PGO on linux as well, was a 10% perf win... but compiler upgrade + build system breakage stopped us. We need to restart this on linux (and see about OSX). | ||
** -GL breaks some things on win32 | ** -GL breaks some things on win32 | ||
* | * {{bug|353962}} -- JS spinlocks vs. full locks (Crashes in Fx2) | ||
* | * {{bug|196843}} -- CSS fastload | ||
* On radar (unowned stuff that people have mentioned have mentioned we should look at at some point) | * On radar (unowned stuff that people have mentioned have mentioned we should look at at some point) | ||
| Line 64: | Line 71: | ||
** startup performance (fastload perf, loading libXUL and other files, etc.) (unowned) | ** startup performance (fastload perf, loading libXUL and other files, etc.) (unowned) | ||
** more work to speed up onSecurityChange, but further work will require SSL work and reducing the number of notifications | ** more work to speed up onSecurityChange, but further work will require SSL work and reducing the number of notifications | ||
** XPConnect accessor speed ({{bug|412531}}) (request for priority+owner by dietrich) | |||
* Start/Stop Shark from JS | * Start/Stop Shark from JS ({{bug|411365}} Patch) | ||
** Gets really clean profiles. | ** Gets really clean profiles. | ||
** Install newest [http://developer.apple.com/tools/download/ CHUD] | ** Install newest [http://developer.apple.com/tools/download/ CHUD] | ||
| Line 72: | Line 80: | ||
** Good setting for brief events is config->advanced 20us sample rate | ** Good setting for brief events is config->advanced 20us sample rate | ||
** Put shark in remote mode | ** Put shark in remote mode | ||
** Example from | ** Example from {{bug|412396}} test: | ||
<html> | <html> | ||
Latest revision as of 01:41, 17 January 2008
Gecko 1.9 Performance and Leaks Meeting Details
- Wednesdays - Firefox 3 - 10:00am Pacific, 1:00pm Eastern
- Script Conference Room, Building S, Mountain View
- 650-903-0800 or 650-215-1282 x91 Conf# 217 (US/INTL)
- 1-800-707-2533 (pin 369) Conf# 217 (US)
- irc.mozilla.org #perf for backchannel
Leaks
- Lots of leaks with extensions.
- Many look like shut-down leaks. Would still be good to get these fixed so that we know for sure that they are shut-down leaks, and to make it easier to find other leaks. Have been giving these P3 priority.
- Some do not look like shut-down leaks, have been marking these P1 or P2.
- Will test which cause leaks that grow over time and make sure these are given top priority.
- Tomcats testing procedure documented here: [1] and leak testing plan here [2]
- Peterv has a patch to fix bug in cycle collector that causes many random crashes bug 407034, and a patch to fix one source of hidden-window-leaks which is likely source of many extension leaks bug 412491.
- More progress on making DEBUG_CC more useful by dbaron bug 410116. Seems mostly fixed.
- We need better tools in non-debug builds that extension authors can use for leak testing. Leak gauge should already work?
Action Items
- AI:sicking Look into enabling trace-refcount, without the tracing part in nightlies.
- AI:cbarrett Look into OS leaks on Mac.
- AI:dbaron Make assertions fatal on new windows leak box.
- AI:sicking Test leaked handles on windows manually using purify.
- AI:sayrer Run leak buster while looking for trace-malloc leaks. [didn't get this done--sayrer]
- AI:sicking to go through and prioritize leak bugs
Performance
- Alix wonders about areas where we improved FF2->FF3. We want this for documentation purposes. Email alix with any things you know we have improved (@mozilla.com)
- For features page on main mozilla.com website
- For press reviewers' guide
- Needs concrete examples of speedups (pages, percentages, etc.)
- Will wait until b3 to have concrete numbers
- Concrete details: work that's happened, benchmarks that we're using, and what we expect in real-world usage
- JPEG/image speedups
- bug 411379: JPEG color conversion MMX/SSE2
- Shows perf wins on win32, OSX has bug 412396
- bug 411718: avoid buffer copy on JPEG decode
- Perf Bugs for FF3:
- Txul platform differences according to mac mini machines
mac: slowest on 1.8, slower still on 1.9 (30% regression)Looks even or better than branch- windows: fastest on 1.8, now in second place (30% regression) -- improving, still slower
- linux: middle on 1.8, now fastest on 1.9 (30% improvement)
- massive Ts regression in 2006
- Ts analysis: bug 406810
- Related to thread manager landing
- Darin thinks it might be excessive painting.
- Profile Guided Optimization
- WPO turned on for windows (bug 361343) -- nice performance win on XP
- Spidermonkey seems to respond well to PGO under GCC (bug 410994)
- sayrer has entire browser building with -fprofile-generate on Linux. no results yet.
- dbaron: shipped fx 1.0 with PGO on linux as well, was a 10% perf win... but compiler upgrade + build system breakage stopped us. We need to restart this on linux (and see about OSX).
- -GL breaks some things on win32
- bug 353962 -- JS spinlocks vs. full locks (Crashes in Fx2)
- bug 196843 -- CSS fastload
- On radar (unowned stuff that people have mentioned have mentioned we should look at at some point)
- Theme optimization
- roc's scrollbar issues
- startup performance (fastload perf, loading libXUL and other files, etc.) (unowned)
- more work to speed up onSecurityChange, but further work will require SSL work and reducing the number of notifications
- XPConnect accessor speed (bug 412531) (request for priority+owner by dietrich)
- Start/Stop Shark from JS (bug 411365 Patch)
- Gets really clean profiles.
- Install newest CHUD
- Start Shark App.
- Good setting for brief events is config->advanced 20us sample rate
- Put shark in remote mode
- Example from bug 412396 test:
<html>
<head>
<title>Test JPEG Rendering Time - (Hacked from scragz' test)</title>
<script type="text/javascript">
connectShark();
startShark(); // Start sampling
startDate = new Date();
startTime = startDate.getTime() / 1000;
window.onload = function () {
var ignoreMe = document.body.offsetWidth;
var endTime = new Date();
};
window.scrollBy(0,1);
function calceRenderingTime() {
stopShark(); // Stop sampling
disconnectShark();
endDate = new Date();
endTime = endDate.getTime() / 1000;
alert(endTime - startTime);
}
</script>
</head>
<body onload="calceRenderingTime();">
...
Action Items
- make faster
Fragmentation
- bug 407459 -- Hook up jemalloc to our build
- ported to windows, mac and linux. integrated to build system on mac and linux. windows work continuing. Hope to have numbers by end of the week.
- bug 403830 -- Content arena
- bug 408720 -- Fallout
- New arenas
- Other bugs (should have perf and footprint keywords)
- bug 403354 -- Get rid of nsCStringArray ParseString usage (maybe fixed?)
- bug 407442 -- nsEventListenerManager allocates a lot [patch]
- bug 408113 -- JS reallocate context->stackPool arenas way too often [patch]
- bug 408301 -- XPConnect wrappers w/o XPConnect proto don't share JS scopes with their protos. [patch]
- bug 410250 -- nsID/nsJSID stupid mallocs [patch]
- bug 410357 -- use nsAutoTArray for nsCSSDeclaration::mOrder [patch]
- bug 410392 -- stack allocate gfx objects [patch, needs work]
- bug 408921 -- Arenas size+header are too big for size classification
Action Items
- fix things