{"id":120,"date":"2013-01-22T17:37:15","date_gmt":"2013-01-22T17:37:15","guid":{"rendered":"http:\/\/blog.mozilla.org\/nfroyd\/?p=120"},"modified":"2013-01-22T17:37:15","modified_gmt":"2013-01-22T17:37:15","slug":"analyzing-linker-max-vsize","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/nfroyd\/2013\/01\/22\/analyzing-linker-max-vsize\/","title":{"rendered":"analyzing linker max vsize"},"content":{"rendered":"<p>mozilla-inbound is currently approval-only due to issues with Windows PGO builds.\u00a0 The short explanation is that we turn on aggressive code optimization for our Windows builds.\u00a0 This aggressive code optimization causes the linker than comes with Visual Studio to run out of virtual memory.\u00a0 The current situation is especially problematic because we can&#8217;t increase the amount of virtual memory the linker can access (unlike last time, where we &#8220;just&#8221; moved the builds to 64-bit machines).<\/p>\n<p>We don&#8217;t really have a good handle on what causes these issues (other than the obvious &#8220;more code&#8221;), but at least <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=710712\">we are tracking the linker&#8217;s vsize<\/a> and <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=710840\">we&#8217;ll soon have pretty pictures<\/a> of the same.\u00a0 We hadn&#8217;t expected to have to deal with this problem for several more months.\u00a0 The graph below helps explain why we&#8217;re hitting this problem a little sooner than before.\u00a0 The data for this graph was taken from the Windows nightly build logs.<\/p>\n<p><a href=\"http:\/\/blog.mozilla.org\/nfroyd\/2013\/01\/22\/analyzing-linker-max-vsize\/raw-data-plot\/\" rel=\"attachment wp-att-121\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-121\" alt=\"Win32 Linker max vsize\" src=\"http:\/\/blog.mozilla.org\/nfroyd\/files\/2013\/01\/raw-data-plot.png\" width=\"640\" height=\"400\" srcset=\"https:\/\/blog.mozilla.org\/nfroyd\/files\/2013\/01\/raw-data-plot.png 640w, https:\/\/blog.mozilla.org\/nfroyd\/files\/2013\/01\/raw-data-plot-300x187.png 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Notice the massive spike in October, as well as the ~100MB worth of growth in early January.\u00a0 While the data is not especially fine-grained (nightly builds can include tens of changesets, and we&#8217;d really like information on the vsize growth on a per-changeset basis), looking at the biggest increases over the last ten months might prove helpful.\u00a0 There have been ~300 nightly builds since we started recording data; below is a list of the top 20 daily increases in linker max vsize.\u00a0 The date in the table is the date the nightly build was done; the newly-included changeset range is linked to for your perusal.<\/p>\n<table border=\"1\" cellspacing=\"2\" cellpadding=\"10\">\n<tbody>\n<tr>\n<th align=\"center\">Nightly build date<\/th>\n<th align=\"center\">vsize increase (MB)<\/th>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=762e95608da3f351e18fc649a6e3ac0dd3da5971&amp;tochange=e794cef56df66afbfd1f6f974c93fb08397899e7\">2012-05-18<\/a><\/td>\n<td align=\"center\">282.363281<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=fd724f194a1f65540289872d7c97765623f81bc0&amp;tochange=2da1f2bde40e77e62ccf04b38d7dcc1497362faa\">2012-10-06<\/a><\/td>\n<td align=\"center\">103.609375<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=ecd4c43042193c599d446d712ac265319b70dc33&amp;tochange=9738e5a0190a\">2012-10-08<\/a><\/td>\n<td align=\"center\">90.769531<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=7bce868864bf9d16ff59da3fb560b8016996ae44&amp;tochange=0a6e5a67c4e870dae868f2b5f43a56ec5796ce03\">2013-01-10<\/a><\/td>\n<td align=\"center\">49.699219<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=5199196b65ec6bafc1fe877729f336c4db7d9abd&amp;tochange=9274e6b53af4\">2012-06-02<\/a><\/td>\n<td align=\"center\">49.199219<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=cb573b9307e5f2c48a29973fd9ff69e6dcf8ef6c&amp;tochange=0ff60bfb3442c075795d3cc4a49e02bc88dd8506\">2012-10-19<\/a><\/td>\n<td align=\"center\">32.976562<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=d348dbf1dab4143515500c3469315ae30921c764&amp;tochange=dc2abccc2adb0fd61b6f579436e7706cccf41e03\">2012-12-25<\/a><\/td>\n<td align=\"center\">32.332031<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=d8ca3e1c469e5bc0f935ff74ef333f0a9a2b2888&amp;tochange=20d1a5916ef69e9114150e6795663524a395ee79\">2013-01-06<\/a><\/td>\n<td align=\"center\">32.015625<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=8cc32d6fa70734e2a6a0689a13dec0207f365e2b&amp;tochange=01a8559f55605a5458de7d42544af2f0c6b6a462\">2013-01-20<\/a><\/td>\n<td align=\"center\">30.144531<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=91b9995f9ac7aaf019e0fb8e21fa45bec11d2d82&amp;tochange=91b9995f9ac7aaf019e0fb8e21fa45bec11d2d82\">2013-01-22<\/a><\/td>\n<td align=\"center\">27.222656<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=635fcc11d2b16265114d6bbc02768d007f73d66b&amp;tochange=4cb8f88213f5e8c108103f7f167463bedd798542\">2012-10-04<\/a><\/td>\n<td align=\"center\">19.273438<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=654ac86492e85f15cf2683fecf132259d0b184fd&amp;tochange=d37d4edce6dd\">2012-05-10<\/a><\/td>\n<td align=\"center\">18.234375<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=20ec9014f220c96a0434a4043f5a5cabb0cd5e37&amp;tochange=d8e4f06198dc4933b0011b396ad1d41a063312a1\">2012-11-23<\/a><\/td>\n<td align=\"center\">17.937500<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=5884240242948d90aa0bfdc80803b4a4ad853e04&amp;tochange=89dcadd42ec4b68b6e39b71061f04cd8d1aefc25\">2012-08-03<\/a><\/td>\n<td align=\"center\">17.738281<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=20d1a5916ef69e9114150e6795663524a395ee79&amp;tochange=605ae260b7c8afd3692ce97ce005a462eacf6095\">2013-01-07<\/a><\/td>\n<td align=\"center\">17.671875<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=0c4fa25f637ba230081d9fca316acc063187e6b2&amp;tochange=1d4fc0c6006353708924d8a0583ef809db925a70\">2012-09-08<\/a><\/td>\n<td align=\"center\">17.386719<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=bf26f61a07489ea75bf294e143109e1fc83e0975&amp;tochange=84320dffec6e55f92fd01bde61ea367b325850ed\">2012-12-23<\/a><\/td>\n<td align=\"center\">17.269531<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=f5ed2691d901&amp;tochange=d29b182e169ee1245729e2a45817e09b424df9de\">2012-12-27<\/a><\/td>\n<td align=\"center\">17.156250<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=a47525b9352836b35eca12470c9d1f29e2779894&amp;tochange=cf7575ceef5a7af40b72cc6f004f6d1d9b0ae1d6\">2012-11-11<\/a><\/td>\n<td align=\"center\">17.085938<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/pushloghtml?fromchange=1942b4d64dc87b1cd06ed4bbc7c91c9f5174404b&amp;tochange=3c81e1c0d252325d6060d2252725ead8a2c6e705\">2012-12-06<\/a><\/td>\n<td align=\"center\">17.003906<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Mike Hommey suggested that trying to divine the whys and hows of extra memory usage would be a fruitless endeavor. Looking at the above pushlogs, I am inclined to agree with him. There&#8217;s nothing in any of them that jumps out. I didn&#8217;t try clicking through to individual changesets to figure out what might have added large chunks of code, though.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>mozilla-inbound is currently approval-only due to issues with Windows PGO builds.\u00a0 The short explanation is that we turn on aggressive code optimization for our Windows builds.\u00a0 This aggressive code optimization causes the linker than comes with Visual Studio to run out of virtual memory.\u00a0 The current situation is especially problematic because we can&#8217;t increase the [&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\/120"}],"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=120"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/posts\/120\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/media?parent=120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/categories?post=120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nfroyd\/wp-json\/wp\/v2\/tags?post=120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}