{"id":2647,"date":"2013-08-07T16:36:19","date_gmt":"2013-08-07T05:36:19","guid":{"rendered":"http:\/\/blog.mozilla.org\/nnethercote\/?p=2647"},"modified":"2013-08-07T16:36:19","modified_gmt":"2013-08-07T05:36:19","slug":"memshrink-progress-week-109-112","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/nnethercote\/2013\/08\/07\/memshrink-progress-week-109-112\/","title":{"rendered":"MemShrink progress, week 109&#8211;112"},"content":{"rendered":"<p>There&#8217;s been a lot of focus on B2G memory consumption in the past four weeks.\u00a0 Indeed, of the <a href=\"https:\/\/bugzilla.mozilla.org\/buglist.cgi?list_id=7512303&amp;resolution=FIXED&amp;query_based_on=MemShrink%20bugs%20resolved%20in%20the%20past%20four%20weeks&amp;status_whiteboard_type=allwordssubstr&amp;chfieldto=2013-08-06&amp;chfield=bug_status&amp;query_format=advanced&amp;chfieldfrom=2013-07-09&amp;chfieldvalue=RESOLVED&amp;status_whiteboard=MemShrink&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;known_name=MemShrink%20bugs%20resolved%20in%20the%20past%20four%20weeks\">38 MemShrink bugs fixed in that time<\/a>, a clear majority of them relate in some way to B2G.<\/p>\n<p>In particular, Justin Lebar, Kyle Huey and Andrew McCreight have done a ton of important work tracking down leaks in both Gecko and Gaia.\u00a0 Many of these have been reported by B2G partner companies doing stress testing such as opening and closing apps 100s or 1000s of times over long period.\u00a0 Some examples (including three MemShrink P1s) are <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=889984\">here<\/a>, <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=891968\">here<\/a>, <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=893012\">here<\/a>, <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=893172\">here<\/a>, <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=894081\">here<\/a>, <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=894135\">here<\/a>, <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=894147\">here<\/a> and <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=896825\">here<\/a>.\u00a0 There are still some P1s remaining (e.g. <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=897684\">here<\/a>, <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=898990\">here<\/a>, <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=899437\">here<\/a>).\u00a0 This work is painstaking and requires lots of futzing around with low-level tools such as the GC\/CC logs, unfortunately.<\/p>\n<p>Relatedly, Justin <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=893222\">modified the JS memory reporter to report &#8220;notable&#8221; strings<\/a>, which includes smallish strings that are duplicated many times, a case that has occurred on B2G a couple of times.\u00a0 Justin also <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=898558\">moved some of the &#8220;heap-*&#8221; reports that previously lived in about:memory&#8217;s &#8220;Other measurements&#8221; section into the &#8220;explicit&#8221; tree<\/a>.\u00a0 This makes &#8220;explicit&#8221; closer to &#8220;resident&#8221; a lot of the time, which is a useful property.<\/p>\n<p>Finally, Luke Wagner <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=880538\">greatly reduced the peak memory usage seen during parsing large asm.js examples<\/a>.\u00a0 For the <a href=\"http:\/\/www.unrealengine.com\/html5\/\">Unreal demo<\/a>, this reduced the peak from 881MB to 6MB, and reduced start-up time by 1.5 seconds!\u00a0 Luke also <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=899832\">slightly reduced the size of JSScript<\/a>, which is one of the very common structures on the JS GC heap, thus reducing pressure on the GC heap, which is always a good thing.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There&#8217;s been a lot of focus on B2G memory consumption in the past four weeks.\u00a0 Indeed, of the 38 MemShrink bugs fixed in that time, a clear majority of them relate in some way to B2G. In particular, Justin Lebar, Kyle Huey and Andrew McCreight have done a ton of important work tracking down leaks [&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,4261,30,4544,4546],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/2647"}],"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=2647"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/2647\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/media?parent=2647"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/categories?post=2647"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/tags?post=2647"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}