)]}'
{
  "commit": "99d236374fdb4b6ea9d69c993f760ea2e967cff5",
  "tree": "91143a5c0fce4ac58135d009f3503ad9289be3e7",
  "parents": [
    "160387be0d7d793757f5e7508a0cb0080fa7d70a"
  ],
  "author": {
    "name": "Nico Weber",
    "email": "thakis@chromium.org",
    "time": "Thu Nov 07 13:14:37 2019 -0500"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Thu Nov 07 19:51:09 2019 +0000"
  },
  "message": "win: Only use ICF and LTO if explicitly opted in.\n\nThe bots pass --use-icf and --use-lto, so it doesn\u0027t affect them.\nMakes the Windows build more like the non-Windows build, and\nmakes incremental build times (\u003d\u003d local dev) in the default build\nconfig 20x faster.\n\n(It also makes it possible to set CC/CXX to clang-cl without\ngetting warnings about /GL, but that\u0027s not my motivation here.\nBut I might want to use goma to build gn in the future, at least\non my laptop, and then that\u0027ll come in handy.)\n\nAlso add /Zc:inline to cflags in release builds on Windows.\n\nAlso change non-Win to use LTO only in release builds -- LTO in\ndebug builds doesn\u0027t make much sense.\n\nRelease build times (always `ninja -C out`, i.e. linking both\ngn.exe and gn_unittests.exe):\n\nWith this patch:\nFull: 4m25s\nTouch just src\\gn\\command_analyze.cc: 3.8s\nSize of out\\: 844 MB\nPeak memory use during build: 250 MB\n\nWith this patch but no /Zc:inline:\nFull: 4m25s\nTouch just src\\gn\\command_analyze.cc: 4.8s\nSize of out\\: 1.05 GB\nPeak memory use during build: 345 MB\n\nWithout this patch (\u003d\u003d this patch with --use-icf --use-lto;\n/Zc:inline seems to have no effect when used with /GL):\nFull: 4m33s\nTouch just src\\gn\\command_analyze.cc: 1m55s (!)\nSize of out\\: 1.52 GB\nPeak memory use during build: 678 MB\n\nChange-Id: Idd87389c7537828fe6523a64de6031f9cbbc0fc6\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/6442\nReviewed-by: Scott Graham \u003cscottmg@chromium.org\u003e\nCommit-Queue: Nico Weber \u003cthakis@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1ece5a101a89f72193b8950e4bd366ea53c25031",
      "old_mode": 33261,
      "old_path": "build/gen.py",
      "new_id": "26bce2609feffe8216340ba4b3e3f7267f7f8374",
      "new_mode": 33261,
      "new_path": "build/gen.py"
    }
  ]
}
