)]}'
{
  "commit": "604d6e216dc4103f163a5503a39ff0c9add838fa",
  "tree": "30399c92573562854e0bdeef4638f813a9f6cbdc",
  "parents": [
    "f2ddfefdb51d1c933b6f8e2e1a88f603d0bfdc12"
  ],
  "author": {
    "name": "David \u0027Digit\u0027 Turner",
    "email": "digit@google.com",
    "time": "Thu Oct 15 23:40:55 2020 +0200"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Fri Nov 27 22:54:17 2020 +0000"
  },
  "message": "gn recipe: Link GN with rpmalloc to speed it up.\n\nNOTE: This is a reland of [1] with an updated rpmalloc\nrevision that includes fixes for the -Wconversion errors\nthat required reverting the original CL.\n\nThis CL changes the GN recipe to link the executable with the\nrpmalloc allocator from https://github.com/mjansson/rpmalloc\n\nThis speeds up the \u0027gn gen\u0027 operation of both Chromium and Fuchsia\noperations by 28% and 12% respectively [1], and has slightly better\nperformance than using tcmalloc from gperftools in the Fuchsia case.\n\nNote that:\n\n- The sources are grabbed directly from github.com, but it might be\n  desirable to use a Chromium or Fuchsia supported mirror instead.\n\n- Only Linux has been tested so far, so only this platform enables\n  this build mode.\n\n[1] Median measurements from 10 runs of \u0027gn gen\u0027 using the default\n    Linux allocator (glibc), gperftools\u0027 tcmalloc, and rpmalloc:\n\n  Fuchsia:\n      glibc (default):  9917 ms\n      gperftools:       7858 ms  (26% faster)\n      rpmalloc:         7752 ms  (28% faster)\n\n  Chromium:\n      glibc (default):  4742 ms\n      gperftools:       4186 ms  (13% faster)\n      rpmalloc:         4235 ms  (12% faster)\n\n[1] https://gn-review.googlesource.com/c/gn/+/9920\n\nChange-Id: I0860c34437faee7c1f97e01f831cbf25f49c819e\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/10420\nCommit-Queue: David Turner \u003cdigit@google.com\u003e\nReviewed-by: Petr Hosek \u003cphosek@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c99a1bd764a6bb53d5e6b90d2a3e15b2a541675f",
      "old_mode": 33188,
      "old_path": "infra/README.recipes.md",
      "new_id": "6fa4190009fe5bad30ed20a2567065eab2c36d89",
      "new_mode": 33188,
      "new_path": "infra/README.recipes.md"
    },
    {
      "type": "modify",
      "old_id": "4a301f2330844b84986f86b4d176c09db4098cc0",
      "old_mode": 33188,
      "old_path": "infra/recipes/gn.expected/ci_linux.json",
      "new_id": "54e55c4e0d840f38bf73f535cb0f4e54dc37fe66",
      "new_mode": 33188,
      "new_path": "infra/recipes/gn.expected/ci_linux.json"
    },
    {
      "type": "modify",
      "old_id": "fa8164d1ad433c39a14ba145926f99d650945bcd",
      "old_mode": 33188,
      "old_path": "infra/recipes/gn.expected/ci_mac.json",
      "new_id": "5816d9c76b45f192c564c82ede16c22bf5bedf31",
      "new_mode": 33188,
      "new_path": "infra/recipes/gn.expected/ci_mac.json"
    },
    {
      "type": "modify",
      "old_id": "88e8edb12c04d29b16bc414bc5f396c7788808b3",
      "old_mode": 33188,
      "old_path": "infra/recipes/gn.expected/ci_win.json",
      "new_id": "842f0153af8013926f84578737cc7c2748bc10af",
      "new_mode": 33188,
      "new_path": "infra/recipes/gn.expected/ci_win.json"
    },
    {
      "type": "modify",
      "old_id": "d7127c27a567ca5e485f1b92ee62bbedf004fc9d",
      "old_mode": 33188,
      "old_path": "infra/recipes/gn.expected/cipd_exists.json",
      "new_id": "b93e7c456f5fc0143892cd72a272d3070558b699",
      "new_mode": 33188,
      "new_path": "infra/recipes/gn.expected/cipd_exists.json"
    },
    {
      "type": "modify",
      "old_id": "2e09f954fca8a94aba5e694bf22552b558e4bd6c",
      "old_mode": 33188,
      "old_path": "infra/recipes/gn.expected/cipd_register.json",
      "new_id": "75d38d2be7640674f81cf2b1e84928b5a18ec984",
      "new_mode": 33188,
      "new_path": "infra/recipes/gn.expected/cipd_register.json"
    },
    {
      "type": "modify",
      "old_id": "75b64a4fefc3a5b31c27868ef3c00c8c3eace967",
      "old_mode": 33188,
      "old_path": "infra/recipes/gn.expected/cq_linux.json",
      "new_id": "2593ed393b23a4c005500f8160788c5509d2a98f",
      "new_mode": 33188,
      "new_path": "infra/recipes/gn.expected/cq_linux.json"
    },
    {
      "type": "modify",
      "old_id": "c1d51f5c07878a1f8db671f47431d2b829f4e532",
      "old_mode": 33188,
      "old_path": "infra/recipes/gn.expected/cq_mac.json",
      "new_id": "396543802ae6a52033546bfdcf8e7d21e6b19f11",
      "new_mode": 33188,
      "new_path": "infra/recipes/gn.expected/cq_mac.json"
    },
    {
      "type": "modify",
      "old_id": "164b245cbefd80a78a7dbd95edbf06887234f539",
      "old_mode": 33188,
      "old_path": "infra/recipes/gn.expected/cq_win.json",
      "new_id": "7e4424b4b5643a48f561e162ac536af0d0ec4ae7",
      "new_mode": 33188,
      "new_path": "infra/recipes/gn.expected/cq_win.json"
    },
    {
      "type": "modify",
      "old_id": "5c767b1a8c9011dcdab69e0827a87d2a517b9f0d",
      "old_mode": 33188,
      "old_path": "infra/recipes/gn.py",
      "new_id": "bac3233f7d27595bd84e2d091e522af6e0d1d340",
      "new_mode": 33188,
      "new_path": "infra/recipes/gn.py"
    }
  ]
}
