{"id":66,"date":"2012-06-12T19:25:26","date_gmt":"2012-06-12T19:25:26","guid":{"rendered":"http:\/\/blog.mozilla.org\/nfroyd\/?p=66"},"modified":"2012-06-12T19:25:26","modified_gmt":"2012-06-12T19:25:26","slug":"aboutmemory-statistics-improvements","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/nfroyd\/2012\/06\/12\/aboutmemory-statistics-improvements\/","title":{"rendered":"about:memory statistics improvements"},"content":{"rendered":"<p>The three major memory costs to rendering webpages in Gecko are layout, the DOM, and JavaScript.\u00a0 Only the last of these has a detailed about:memory breakdown.\u00a0 Layout has a few subcategories, but likely as not, <tt>layout\/arenas<\/tt> is one big opaque number, and DOM just sits as a big blob-o-stuff.<\/p>\n<p>Over the past two weeks, I&#8217;ve been working to improve this state of affairs.\u00a0 DOM&#8217;s numbers have been made more transparent by <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=760831\">splitting out the numbers by the type of DOM node<\/a>.\u00a0 Admittedly, this isn&#8217;t perfect, as now you have several semi-opaque blobs, but it gives you a slightly better idea where the memory is going.\u00a0 Additionally, a few more things are getting counted in those DOM numbers, like <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=747509\">some on-the-side datastructures Gecko&#8217;s DOM engine keeps around<\/a>.<\/p>\n<p>Layout has received the most work, however.\u00a0 We now display <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=674922\">stats for individual frame types and common objects allocated in layout&#8217;s arenas<\/a>, which can be helpful in diagnosing page performance problems (bug 686795 <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=686795#c10\">comment 10<\/a> and <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=686795#c23\">comment 23<\/a>).\u00a0 Please note that in the stats for these frames and objects, we&#8217;re not measuring any substructures contained in them, some of which could be quite significant.\u00a0 That&#8217;s a (<a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=677493\">potentially tricky<\/a>) job for later.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The three major memory costs to rendering webpages in Gecko are layout, the DOM, and JavaScript.\u00a0 Only the last of these has a detailed about:memory breakdown.\u00a0 Layout has a few subcategories, but likely as not, layout\/arenas is one big opaque number, and DOM just sits as a big blob-o-stuff. Over the past two weeks, I&#8217;ve [&hellip;]<\/p>\n","protected":false},"author":320,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/posts\/66"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/users\/320"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/comments?post=66"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/posts\/66\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/media?parent=66"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/categories?post=66"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/tags?post=66"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}