)]}'
{
  "commit": "1ad2c2d0a0dc5e967873383add5307ca9fb717bb",
  "tree": "3b42bb69518a79b4e8fffd3b3facf20dc8494364",
  "parents": [
    "3a3bfc5760f980481c632d14b8225ea6955ebf04"
  ],
  "author": {
    "name": "xudong.w",
    "email": "wxd963996380@gmail.com",
    "time": "Wed Apr 15 14:27:10 2026 +0800"
  },
  "committer": {
    "name": "xudong.w",
    "email": "wxd963996380@gmail.com",
    "time": "Wed Apr 15 14:27:10 2026 +0800"
  },
  "message": "perf: move BuildHasher leaf functions after RandomState code for I-cache locality\n\nThe _with_hasher leaf functions (~600 lines) were interleaved between\nthe hot RandomState functions, polluting the instruction cache for the\ndefault path. Move all BuildHasherHashValue trait/impls and _with_hasher\nleaf functions to the end of the file (after create_hashes_with_hasher,\nbefore tests) so the hot default path stays tightly packed.\n\nCo-Authored-By: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4dfe0e40ef3f5c57d4c10d5cd8e1212e80c55676",
      "old_mode": 33188,
      "old_path": "datafusion/common/src/hash_utils.rs",
      "new_id": "d6c50b2a7ce5e219e25d0dc0e06fbdf305ce9b39",
      "new_mode": 33188,
      "new_path": "datafusion/common/src/hash_utils.rs"
    }
  ]
}
