)]}'
{
  "commit": "cfcd774b98f3433e18b722f9a7ff06119825b8eb",
  "tree": "138d4ae881be77eb7b03750776fb20e988928804",
  "parents": [
    "0625da07ece7b1a374ec0719b6f40ebe3d0950c1"
  ],
  "author": {
    "name": "Philipp Wollermann",
    "email": "philwo@google.com",
    "time": "Tue Sep 08 23:58:09 2026 +0200"
  },
  "committer": {
    "name": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Sep 11 03:30:22 2026 -0700"
  },
  "message": "Header check: avoid interning paths during include lookup\n\nResolving each include against each include directory constructs a\nSourceFile, which interns the candidate path even when lookup fails.\nThis adds allocations and contention on the shared interning lock.\n\nUse a hash map keyed by path string views. Normalize candidate paths\nin a reusable buffer, look them up directly, and return the SourceFile\nstored in the matching entry.\n\nChromium `gn gen --check`, medians of five round-robin rounds:\n  Mac (M4 Max):    3.91 s -\u003e 3.16 s\n  GCE c4d-384:     7.71 s -\u003e 5.96 s\n  Intel 13900KS:   4.11 s -\u003e 3.42 s\n\nCPU time (c4d-standard-384):\n  User:  43.8 s -\u003e 40.0 s (-9%)\n  Sys:  121.1 s -\u003e 53.0 s (-56%)\n\nHeap stats:\n  Allocs (count):  64.84 M -\u003e 55.16 M (-15%)\n  Heap (total):    26.27 GB -\u003e 25.58 GB (-3%)\n  Heap (peak):      5.95 GB -\u003e  5.74 GB (-4%)\n\nChange-Id: Iefb962d72efcba69361bccce430e41d10a63c2a9\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/26320\nReviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "93d7b44eaefca80d9e9e419ec8833af83c6edf5e",
      "old_mode": 33188,
      "old_path": "src/gn/header_checker.cc",
      "new_id": "92d15c235ef1a628e85236818575202dd7cc8403",
      "new_mode": 33188,
      "new_path": "src/gn/header_checker.cc"
    },
    {
      "type": "modify",
      "old_id": "6c4561c06b572826588b067be4a756b1a85cabfb",
      "old_mode": 33188,
      "old_path": "src/gn/header_checker.h",
      "new_id": "98ab7f88a66dc7a5c4a72fc21a361a5386472ca1",
      "new_mode": 33188,
      "new_path": "src/gn/header_checker.h"
    },
    {
      "type": "modify",
      "old_id": "173a0f7e19504f9bb9223c353fec7b5e91d3c4c4",
      "old_mode": 33188,
      "old_path": "src/gn/header_checker_unittest.cc",
      "new_id": "04525b5b86398c737dbf948c125e03fe4f91d916",
      "new_mode": 33188,
      "new_path": "src/gn/header_checker_unittest.cc"
    }
  ]
}
