{"id":1745,"date":"2012-02-08T15:35:18","date_gmt":"2012-02-08T04:35:18","guid":{"rendered":"http:\/\/blog.mozilla.org\/nnethercote\/?p=1745"},"modified":"2012-02-08T15:35:18","modified_gmt":"2012-02-08T04:35:18","slug":"memshrink-progress-week-34","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/nnethercote\/2012\/02\/08\/memshrink-progress-week-34\/","title":{"rendered":"MemShrink progress, week 34"},"content":{"rendered":"<h3>Add-ons<\/h3>\n<p>The <a href=\"https:\/\/wiki.mozilla.org\/AMO:Editors\/EditorGuide\/AddonReviews\">AMO add-on review checklist<\/a> was amended a couple of weeks ago to include checks for zombie compartments.\u00a0 This change is bearing fruit:\u00a0 Andreas Wagner and Kris Maglione have found more than 10 submitted add-ons that have leaks.\u00a0 See <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=724361#c10\">here<\/a>, <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=723843\">here<\/a>, <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=724361\">here<\/a>, <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=724377\">here<\/a>, <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=724273\">here<\/a>.\u00a0 With the experience they are gaining, we should be able to greatly <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=725194\">improve the documentation on common causes of leaks<\/a>.<\/p>\n<p>In less positive news, <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=724404\">two<\/a> <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=724433\">leaks<\/a> were found in the add-on SDK.\u00a0 Fortunately the SDK team has proven to be effective at fixing identified leaks quickly in the past, hopefully they&#8217;ll do so again!<\/p>\n<p>Finally, Jason Tackaberry fixed <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=720591\">a zombie compartment in NoSquint 2.1.2<\/a>.\u00a0 The fix is in the <a href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/nosquint\/\">latest version (2.1.5)<\/a>.<\/p>\n<h3>about:nosy<\/h3>\n<p>Andrew Sutherland wrote a extension called <a href=\"http:\/\/www.visophyte.org\/blog\/2012\/02\/04\/aboutnosy-is-aboutmemory-with-charts-helps-you-lay-blame-more-easily\/\">about:nosy<\/a> which is like about:memory on steroids.\u00a0 It&#8217;s oriented around hiding many of the details and instead assigning blame for memory allocations to particular tabs (and similar things).\u00a0 It also features graphs showing how the memory consumption of each tracked entity changes over time;\u00a0 this latter feature is quite memory and CPU-intensive, however.\u00a0 If you are running a recent Nightly build of Firefox, download about:nosy <a href=\"https:\/\/clicky.visophyte.org\/files\/labs\/about-nosy\/about-nosy-0.2.xpi\">here<\/a> and you won&#8217;t even have to restart Firefox to see it, just type &#8220;about:nosy&#8221; into the address bar.<\/p>\n<p><a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=713799\">Forthcoming changes<\/a> will make about:memory more like about:nosy, by measuring more things on a per-tab basis.\u00a0 And for a long time I have had a vague plan that one day someone who knows about UX will write a user-friendly alternative to about:memory that focuses just on per-tab memory consumption, and about:nosy is a good indicator of what that might look like.<\/p>\n<h3>Miscellaneous<\/h3>\n<p>Saptarshi Guha from the metrics team did an <a href=\"http:\/\/blog.mozilla.org\/metrics\/2012\/02\/07\/how-is-the-memshrink-project-working-out\/\">analysis of the physical memory consumption of Firefox 10, 11 and 12<\/a>, based on telemetry data.\u00a0 The post is heavy going for those who aren&#8217;t experts at statistics and <a href=\"http:\/\/en.wikipedia.org\/wiki\/R_%28programming_language%29\">R<\/a>, but the two main conclusions of interest are (a) that add-ons significantly increase resident memory consumption, and (b) Firefox 12 is consuming more resident memory than Firefox 11.\u00a0 This latter fact matches something we&#8217;d seen in today&#8217;s MemShrink meeting when looking at data from John Schoenick&#8217;s in-development version of <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=704646\">areweslimyet.com<\/a> &#8212; something in early January caused a significant memory consumption regression.\u00a0 John is working on narrowing down which change caused this.<\/p>\n<p>Gian-Carlo Pascutto <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=673470\">overhauled the safe browsing implementation<\/a>.\u00a0 I don&#8217;t claim to understand this change at all, but I think it reduces memory consumption when the database is updated.\u00a0 Better explanations from those who understand this change are welcome!<\/p>\n<p>I <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=722969\">reduced the amount of memory allocated when generating about:memory by roughly 30%<\/a>.<\/p>\n<p>I wrote a <a href=\"http:\/\/blog.mozilla.org\/nnethercote\/2012\/02\/08\/the-benefits-of-reducing-memory-consumption-2\/\">detailed discussion of the benefits of reducing memory consumption<\/a>.<\/p>\n<h3>Bug Counts<\/h3>\n<p>Here are this week\u2019s bug counts.<\/p>\n<ul>\n<li>P1: 22 (-0\/+0)<\/li>\n<li>P2: 134 (-4\/+8)<\/li>\n<li>P3: 75 (-3\/+4)<\/li>\n<li>Unprioritized: 2 (-2\/+1)<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Add-ons The AMO add-on review checklist was amended a couple of weeks ago to include checks for zombie compartments.\u00a0 This change is bearing fruit:\u00a0 Andreas Wagner and Kris Maglione have found more than 10 submitted add-ons that have leaks.\u00a0 See here, here, here, here, here.\u00a0 With the experience they are gaining, we should be able [&hellip;]<\/p>\n","protected":false},"author":139,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4550,119,30,4544,4546],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/1745"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/users\/139"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/comments?post=1745"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/1745\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/media?parent=1745"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/categories?post=1745"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/tags?post=1745"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}