)]}'
{
  "commit": "651e16f083bb30729561be1e8bb994893fc2bb53",
  "tree": "ee9f8e65a62d00cae92f64f7c3f01e86e3f0e472",
  "parents": [
    "41942b7e214b6ad3614f31caa5e3281370fef767"
  ],
  "author": {
    "name": "Takuto Ikuta",
    "email": "tikuta@google.com",
    "time": "Tue Feb 17 22:14:32 2026 +0900"
  },
  "committer": {
    "name": "GN LUCI",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Feb 17 06:41:31 2026 -0800"
  },
  "message": "[perf] Cache dependency checks in HeaderChecker\n\nThis optimization introduces a thread-safe cache for IsDependencyOf\nresults in HeaderChecker.\n\nOn large projects like Chromium, \u0027gn gen --check\u0027 performs a massive\nnumber of include validations. Many of these involve checking\nreachability between the same pairs of targets over and over again. Each\ncheck previously required a full BFS traversal of the dependency graph.\n\nBy caching whether target A can depend on target B (and if the path is\npublicly permitted), we avoid the vast majority of these expensive\ntraversals.\n\nPerformance on Chromium \u0027gn gen --check\u0027:\n- Before: ~125 seconds\n- After: ~66 seconds (approx. 47% faster)\n- CPU user time reduced from ~16 minutes to ~8 minutes.\n\nBug: 484862257\nChange-Id: Ib46fef088039a145a53f1eb541c27f296a4df3ba\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/21001\nCommit-Queue: Takuto Ikuta \u003ctikuta@google.com\u003e\nReviewed-by: David Turner \u003cdigit@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1ecc90ab3faded479be6de8deaa183a9936d553d",
      "old_mode": 33188,
      "old_path": "src/gn/header_checker.cc",
      "new_id": "20ed4bc57b3ce6db2c6324f632fcc5a52bb439e8",
      "new_mode": 33188,
      "new_path": "src/gn/header_checker.cc"
    },
    {
      "type": "modify",
      "old_id": "fd053dde51dd519401918addaaaa76ab382bbd8b",
      "old_mode": 33188,
      "old_path": "src/gn/header_checker.h",
      "new_id": "0c88149c66f1347cffe972a8d4a308f6dc53b376",
      "new_mode": 33188,
      "new_path": "src/gn/header_checker.h"
    }
  ]
}
