Performance/Status Meetings/2008-January-09

From MozillaWiki
Jump to: navigation, search

« Back to Status Meetings

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)
  • #perf for backchannel


  • We're back to being in a situation where we have plenty of reproducible large (nsGlobalWindow) leak bugs, largely due to Tomcat's testing work. Now we "just" need to debug them. List of open leak bugs reported by Tomcat
  • We also need to get Tomcat's testing procedure documented so we can evangelize testing and analysis to extension developers and others interested in helping to turn up bugs. If Tomcat is on the call lets talk about this. --chofmann
  • peterv is going to try to fix these leaks, focusing on the extension leaks, since the known nsGlobalWindow leaks in Firefox itself are things users don't do many times per session.
  • Jesse checked in a patch to make DEBUG_CC compile again, but it currently spews a lot of seemingly irrelevant information, making it difficult to use for debugging nsGlobalWindow leaks (especially if it's your first time). See bug 410116.

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.
  • AI:sicking to go through and prioritize leak bugs


  • MMX/SSE/SSE2 patches floating around
    • Michael Moy has patch for JPEG color conversion and some other cleanup there
  • 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
    • Related to thread manager landing
    • Darin will comment in bug with thoughts
  • Firefox front-end perf
    • sayer to put list of tasks on wiki
    • dolske will do some profiling work

  • 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
  • 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).

Action Items

  • make faster


  • 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
  • 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