)]}'
{
  "commit": "94a6d283e104d6e6e2c87b48d3c224263e08b077",
  "tree": "355aac72181058f295584116627c1f5f4cdf06cb",
  "parents": [
    "d0c99a8b23dafd5be34167436e79363ff2489b35"
  ],
  "author": {
    "name": "Chris Kennelly CA",
    "email": "ckennelly@google.com",
    "time": "Fri Sep 25 22:01:13 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Mon Nov 02 08:23:02 2026 -0800"
  },
  "message": "Optimize GraphCycles::PointerMap and inline hot GraphCycles helpers.\n\nGraphCycles::PointerMap previously used a 262,139-entry (1 MiB) int32_t bucket array chained through Node::next_hash, filling 1 MiB on GraphCycles construction and dereferencing rep_-\u003enodes_[index]-\u003emasked_ptr across separate allocations on every probe.\n\nReplace PointerMap with a dedicated flat open-addressed table storing {masked_ptr, GraphId} pairs inline with an initial capacity of 1024 entries, and mark hot GraphCycles accessors (Vec::operator[], NodeSet::FindIndex, NodeSet::Next, PointerMap::Find, FindNode, and ByRank::operator()) ABSL_ATTRIBUTE_ALWAYS_INLINE so unoptimized and non-LTO builds do not pay function call overhead on every edge traversal.\n\nPiperOrigin-RevId: 988680840\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "707908145f1a6678cea9c5d4c2bdda84a637e0d5",
      "old_mode": 33188,
      "old_path": "absl/synchronization/internal/graphcycles.cc",
      "new_id": "fc870f4b3ec3b676a49c9f46766755ef4592389b",
      "new_mode": 33188,
      "new_path": "absl/synchronization/internal/graphcycles.cc"
    }
  ]
}
