{"id":2602,"date":"2013-04-26T17:12:40","date_gmt":"2013-04-26T06:12:40","guid":{"rendered":"http:\/\/blog.mozilla.org\/nnethercote\/?p=2602"},"modified":"2013-04-26T17:12:40","modified_gmt":"2013-04-26T06:12:40","slug":"recent-aboutmemory-improvements","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/nnethercote\/2013\/04\/26\/recent-aboutmemory-improvements\/","title":{"rendered":"Recent about:memory improvements"},"content":{"rendered":"<p>The landing of patches from two <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=856917\">recent<\/a> <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=857382\">bugs<\/a> has substantially changed the look of about:memory.\u00a0 When you load the page all see now is the following.<\/p>\n<p><a href=\"http:\/\/blog.mozilla.org\/nnethercote\/files\/2013\/04\/am.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-2603\" alt=\"about:memory screenshot\" src=\"http:\/\/blog.mozilla.org\/nnethercote\/files\/2013\/04\/am.png\" width=\"1007\" height=\"197\" srcset=\"https:\/\/blog.mozilla.org\/nnethercote\/files\/2013\/04\/am.png 1007w, https:\/\/blog.mozilla.org\/nnethercote\/files\/2013\/04\/am-300x58.png 300w\" sizes=\"(max-width: 1007px) 100vw, 1007px\" \/><\/a><\/p>\n<p>Measurements aren&#8217;t taken away;\u00a0 you have to click on the &#8220;Measure&#8221; button for that to happen.\u00a0 Also, adding ?verbose to the URL no longer has an effect.\u00a0 If you want verbose output, you need to click on the &#8220;verbose&#8221; checkbox.<\/p>\n<p>The motivation for this change was that about:memory&#8217;s functionality has expanded greatly over the past two years, and cramming more functionality into the existing UI was a bad idea.\u00a0 There are numerous advantages to the new UI.<\/p>\n<ul>\n<li>No need to control behaviour via the URL, which is admittedly an odd way to do it.<\/li>\n<li>You can switch between verbose and non-verbose modes without having to reload the page.<\/li>\n<li>All the buttons are at the top of the page instead of the bottom, so you don&#8217;t have to scroll down.<\/li>\n<li>You can trigger a GC\/CC\/minimize memory usage event without having do a memory measurement.<\/li>\n<li>When you save reports to file, it&#8217;s clearer that a new measurement will be taken, rather than saving any measurements that are currently displayed on the screen.<\/li>\n<li>The buttons are grouped by function, which makes them easier to understand.<\/li>\n<\/ul>\n<p>There&#8217;s also the &#8220;Load and diff&#8230;&#8221; button, which lets you easily find the difference between two saved memory report files.\u00a0 Here&#8217;s some example output taken after closing a tab containing a Google search result.<\/p>\n<p><a href=\"http:\/\/blog.mozilla.org\/nnethercote\/files\/2013\/04\/diff.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-2604\" alt=\"about:memory diff output\" src=\"http:\/\/blog.mozilla.org\/nnethercote\/files\/2013\/04\/diff.png\" width=\"849\" height=\"235\" srcset=\"https:\/\/blog.mozilla.org\/nnethercote\/files\/2013\/04\/diff.png 849w, https:\/\/blog.mozilla.org\/nnethercote\/files\/2013\/04\/diff-300x83.png 300w\" sizes=\"(max-width: 849px) 100vw, 849px\" \/><\/a><\/p>\n<p>You can see that all the measurements are negative.\u00a0 The [-] markers on leaf nodes in the tree indicate that they are present in the first file but not in the second file.\u00a0 Corresponding [+] markers are used for measurements present in the second file but not the first.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The landing of patches from two recent bugs has substantially changed the look of about:memory.\u00a0 When you load the page all see now is the following. Measurements aren&#8217;t taken away;\u00a0 you have to click on the &#8220;Measure&#8221; button for that to happen.\u00a0 Also, adding ?verbose to the URL no longer has an effect.\u00a0 If you [&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,4546],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/2602"}],"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=2602"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/2602\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/media?parent=2602"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/categories?post=2602"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/tags?post=2602"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}