{"id":1490,"date":"2011-11-16T16:10:36","date_gmt":"2011-11-16T05:10:36","guid":{"rendered":"http:\/\/blog.mozilla.org\/nnethercote\/?p=1490"},"modified":"2011-11-16T16:10:36","modified_gmt":"2011-11-16T05:10:36","slug":"memshrink-progress-report-week-22","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/nnethercote\/2011\/11\/16\/memshrink-progress-report-week-22\/","title":{"rendered":"MemShrink progress report, week 22"},"content":{"rendered":"<p>This was a quieter week.<\/p>\n<p>Andrew McCreight finished his <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=423032\">static analysis to detect cycle collector leaks<\/a>.\u00a0 See the details in the bug (and talk to Andrew) if you are interested in using this analysis.<\/p>\n<p>I <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=699724\">shrunk the size of js::HashTable<\/a> by 4 bytes on 32-bit platforms and 8 bytes on 64-bit platforms.\u00a0 This saves a few 10s or 100s of KB on typical workloads.<\/p>\n<p>Marco Bonardo <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=692487\">decreased the default maximum page size of SQLite connections<\/a>, which can reduce SQLite memory usage somewhat.<\/p>\n<p>Olli Pettay <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=702240\">avoided some wasted space in one of the cycle collector&#8217;s data structures<\/a>.\u00a0 The cycle collector uses lots of memory but for a short time when it runs;\u00a0 this change will reduce the size of this memory spike.<\/p>\n<p>Gian-Carlo Pascutto <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=698326\">added a memory reporter for one of the data structures used by the url-classifier<\/a>.\u00a0 This shows up in about:memory under &#8220;explicit\/storage\/prefixset&#8221; and is often over 1MB.<\/p>\n<p>Justin Lebar <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=701210\">improved the measurement of nsTArray&#8217;s memory usage<\/a>, which will reduce the size of &#8220;heap-unclassified&#8221; in about:memory by a small amount.<\/p>\n<p>Justin also wrote a good blog post about the <a href=\"http:\/\/jlebar.com\/2011\/11\/13\/The_carrot%2C_the_stick%2C_and_the_wrench%3A_Add-on_leaks_are_everyone%27s_problem..html\">challenges of addressing leaks in add-ons<\/a>.<\/p>\n<p>We only had seven new MemShrink bugs to triage in today&#8217;s meeting;\u00a0 I&#8217;m pretty sure that is the fewest we&#8217;ve ever had.\u00a0 Here are the current bug counts.<\/p>\n<ul>\n<li>P1: 29 (+1\/-1)<\/li>\n<li>P2: 127 (-2\/+3)<\/li>\n<li>P3: 58 (-3\/+2)<\/li>\n<li>Unprioritized: 0 (-0\/+0)<\/li>\n<\/ul>\n<p>These counts are notable because the total number (214) is the same as last week!\u00a0 Maybe the number will start dropping soon.<\/p>\n<p>One thing worth pointing out about the +\/- numbers is that if a bug is opened and closed between my weekly reports, it does <em>not<\/em> get counted in the +\/- numbers.\u00a0 In a way this is good, because it means that duplicate bugs and invalid bugs don&#8217;t affect the numbers.\u00a0 But it also fails to capture bugs that were reported and fixed quickly.\u00a0 (I usually describe such bugs in my posts, however.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This was a quieter week. Andrew McCreight finished his static analysis to detect cycle collector leaks.\u00a0 See the details in the bug (and talk to Andrew) if you are interested in using this analysis. I shrunk the size of js::HashTable by 4 bytes on 32-bit platforms and 8 bytes on 64-bit platforms.\u00a0 This saves a [&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,30,4544,4546],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/1490"}],"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=1490"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/1490\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/media?parent=1490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/categories?post=1490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/tags?post=1490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}