)]}'
{
  "commit": "97c84db00c01b808337bedf69f696a1517e3d8c0",
  "tree": "1af03fc32c0fc938c148ebdf3ad1eb812e254efc",
  "parents": [
    "90645f5598ca8b25cd2692f2ac0d2778a3fd2755"
  ],
  "author": {
    "name": "Stephen Hemminger",
    "email": "shemminger@vyatta.com",
    "time": "Fri Jan 11 18:25:26 2013 +0000"
  },
  "committer": {
    "name": "David Lamparter",
    "email": "equinox@opensourcerouting.org",
    "time": "Sun Feb 24 20:48:16 2013 +0100"
  },
  "message": "hash: dynamically grow hash table\n\nDynamically grow the hash table index if the chains get too long.\nIf expansion doesn\u0027t help keep chain length short, then stop expanding,\nto avoid bad behavior if there is a poor hash function.\nNot a new idea, based on concepts in uthash.\n\nDepends on my previous patch to restrict hash to power of 2.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\n[profiling results: sum of cycles spent in hash_get/jhash with RIPE RIS\n test data (single simple BGP peer) improved to 69% of previously spent]\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1e097f284871c6b9145496961b7f34f49931fcb6",
      "old_mode": 33188,
      "old_path": "lib/hash.c",
      "new_id": "987012a58833223d23c0e280c5060e7b9148e13c",
      "new_mode": 33188,
      "new_path": "lib/hash.c"
    },
    {
      "type": "modify",
      "old_id": "a6dd531904e69cc98c4b7729ea7680e016a5bf57",
      "old_mode": 33188,
      "old_path": "lib/hash.h",
      "new_id": "920c6685fb697230e0715e8512bcda45338249dd",
      "new_mode": 33188,
      "new_path": "lib/hash.h"
    }
  ]
}
