{"id":1258,"date":"2011-08-24T13:11:03","date_gmt":"2011-08-24T02:11:03","guid":{"rendered":"http:\/\/blog.mozilla.org\/nnethercote\/?p=1258"},"modified":"2011-08-24T20:53:17","modified_gmt":"2011-08-24T09:53:17","slug":"memshrink-progress-week-10","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/nnethercote\/2011\/08\/24\/memshrink-progress-week-10\/","title":{"rendered":"MemShrink progress, week 10"},"content":{"rendered":"<p>A quieter week this week.\u00a0 Well, plenty of work was done but not yet completed, and I mostly write only about changes that have been finished.<\/p>\n<ul>\n<li>Brian Hackett finished up the last of his <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=669815\">memory usage reductions for JavaScript type inference<\/a>.\u00a0 The previous attempted merge of type inference bounced due to unacceptable memory usage, but Brian has reduced its usage massively and it will land soon.<\/li>\n<li>Dave Hunt finished the <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=669613\">MemBuster-like endurance test<\/a>.\u00a0 This will help us catch regressions in the future.\u00a0 (Update: Dave has described <a href=\"http:\/\/blargon7.com\/2011\/08\/running-the-mem-buster-endurance-test\/\">how to run the tests yourself<\/a>.)<\/li>\n<li>Sander van Veen added <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=673331\">a facility to identify system compartments created to hold sandboxes<\/a>, which means they can be identified in about:memory.\u00a0 If you have written an add-on that creates sandboxes, please consider modifying your calls to <code>Components.utils.Sandbox<\/code> to specify a <code>sandboxName<\/code> property in the optional parameter.\u00a0 See <a href=\"https:\/\/developer.mozilla.org\/en\/Components.utils.Sandbox\">the documentation<\/a> for details.<\/li>\n<li>Update 2: I forgot to mention that Wan-Teh Chang landed my fix to <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=676457\">prevent waste due to heap allocation round-ups in NSPR&#8217;s PLArena<\/a> and backported it to mozilla-central.\u00a0 This allowed me to remove the <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=680827\">nsPresArena workaround<\/a> that I added last week (which in extreme cases could save 100s of MB).\u00a0 It also avoids a megabyte or two of wasted here and there in other places where PLArena is used.<\/li>\n<\/ul>\n<p>Now for the bug counts.\u00a0 (Canned MemShrink bug searches are available <a href=\"https:\/\/wiki.mozilla.org\/Performance\/MemShrink#Bug_Tracking\">here<\/a>.)<\/p>\n<ul>\n<li>P1: 29 (-5, +4)<\/li>\n<li>P2: 66 (-6, +8)<\/li>\n<li>P3: 37 (-1, +2)<\/li>\n<li>Unprioritized: 4 (-1, +4)<\/li>\n<\/ul>\n<p>There was lots of P1 movement, which is good:\u00a0 a couple were fixed, some have had enough progress made on them that they were able to be downgraded to P2, and some new problems\/opportunities were identified.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A quieter week this week.\u00a0 Well, plenty of work was done but not yet completed, and I mostly write only about changes that have been finished. Brian Hackett finished up the last of his memory usage reductions for JavaScript type inference.\u00a0 The previous attempted merge of type inference bounced due to unacceptable memory usage, but [&hellip;]<\/p>\n","protected":false},"author":139,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30,4544,4546],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/1258"}],"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=1258"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/1258\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/media?parent=1258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/categories?post=1258"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/tags?post=1258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}