{"id":2417,"date":"2013-01-23T15:58:05","date_gmt":"2013-01-23T04:58:05","guid":{"rendered":"http:\/\/blog.mozilla.org\/nnethercote\/?p=2417"},"modified":"2013-02-06T10:41:37","modified_gmt":"2013-02-05T23:41:37","slug":"memshrink-progress-week-83-84","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/nnethercote\/2013\/01\/23\/memshrink-progress-week-83-84\/","title":{"rendered":"MemShrink progress, week 83&#8211;84"},"content":{"rendered":"<h3>Fixed<\/h3>\n<p>Justin Lebar <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=809949\">made it so that memory reports could be collected on production B2G phones<\/a> (i.e. not just developer phones with root access).\u00a0 This was a MemShrink:P1, because getting these reports is crucial.<\/p>\n<p>Gregor Wagner <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=828887\">tuned the GC heuristics used by workers<\/a>.\u00a0 This is important for B2G, which uses workers extensively.<\/p>\n<p>Andrew McCreight <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=827541\">fixed a leak involving audio contexts<\/a>.<\/p>\n<p>I <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=826521\">added a memory reporter for event targets, which includes XHRs<\/a>.\u00a0 This can measure multiple MiB of memory when running Gmail.<\/p>\n<p>I <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=832026\">added a memory reporter for data held by the JS engine&#8217;s regexp JIT compiler<\/a>.\u00a0 It usually measures insignificant amounts.<\/p>\n<p>I <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=827691\">fixed an inaccuracy in the &#8220;resident&#8221; memory report tree<\/a>, which is visible in about:memory when running on Linux, which was caused by a change in recent kernels.<\/p>\n<h3>AWSY<\/h3>\n<p>The recent results on <a href=\"https:\/\/areweslimyet.com\">AWSY<\/a> have been ugly.\u00a0 There were two bad regressions in December, as the following graph makes clear.<\/p>\n<p><a href=\"https:\/\/blog.mozilla.org\/nnethercote\/2013\/01\/23\/memshrink-progress-week-83-84\/awsy-2\/\" rel=\"attachment wp-att-2419\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-2419\" alt=\"areweslimyet.com, december 2012\" src=\"https:\/\/blog.mozilla.org\/nnethercote\/files\/2013\/01\/awsy.png\" width=\"901\" height=\"702\" srcset=\"https:\/\/blog.mozilla.org\/nnethercote\/files\/2013\/01\/awsy.png 901w, https:\/\/blog.mozilla.org\/nnethercote\/files\/2013\/01\/awsy-300x233.png 300w\" sizes=\"(max-width: 901px) 100vw, 901px\" \/><\/a><\/p>\n<p>John Schoenick did some work to improve AWSY to make regression hunting easier, and as a result we finally know which changes caused these regressions.<\/p>\n<ul>\n<li>A <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=820602\">refactoring of images code caused the bigger regression<\/a>, on December 18.\u00a0 Seth Fowler is looking into this.<\/li>\n<li><a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=812333\">Two<\/a> <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=818219\">changes<\/a> relating to the new DOM bindings caused the smaller regression on December 11\/12.\u00a0 This is largely because many more JS getter\/setter functions are present.\u00a0 It&#8217;s not clear yet how to win back this memory, though it should be possible to turn these changes off in the short-term.<\/li>\n<\/ul>\n<p>These regressions have made it to the Aurora branch, which means there is some urgency now to either fix them or back out\/disable them soon.\u00a0 We don&#8217;t want them to reach Beta.<\/p>\n<h3>Bug Counts<\/h3>\n<p>Here are the current bug counts.<\/p>\n<ul>\n<li>P1: 21 (-1\/+7)<\/li>\n<li>P2: 125 (-2\/+11)<\/li>\n<li>P3: 104 (-1\/+3)<\/li>\n<li>Unprioritized: 4 (-17\/+3)<\/li>\n<\/ul>\n<p>The changes are larger than usual because we had a big log of untriaged bugs to go through, due to the six week break since the last MemShrink meeting.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fixed Justin Lebar made it so that memory reports could be collected on production B2G phones (i.e. not just developer phones with root access).\u00a0 This was a MemShrink:P1, because getting these reports is crucial. Gregor Wagner tuned the GC heuristics used by workers.\u00a0 This is important for B2G, which uses workers extensively. Andrew McCreight fixed [&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\/2417"}],"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=2417"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/2417\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/media?parent=2417"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/categories?post=2417"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/tags?post=2417"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}