)]}'
{
  "commit": "8bc166b00da5fc74a659b42be779328a9508866b",
  "tree": "5e82588df7ea7ad9ce213d286e459ad0c988424e",
  "parents": [
    "294a99af252c4088f616beb5cb8bbd6d7d976487"
  ],
  "author": {
    "name": "Kaushik Lingarkar",
    "email": "quic_kaushikl@quicinc.com",
    "time": "Wed May 12 16:12:27 2021 -0700"
  },
  "committer": {
    "name": "Kaushik Lingarkar",
    "email": "quic_kaushikl@quicinc.com",
    "time": "Mon May 24 13:00:54 2021 -0700"
  },
  "message": "BatchRefUpdate: Skip saving conflicting ref names and prefixes in memory\n\nRather than getting all ref names and prefixes and saving them\nin memory to perform the check for conflicting names, rely on\nRefDirectory.isNameConflicting as it is no longer an expensive\ncall after it was optimized in Ie994fc.\n\nThe old optimization to save ref names and prefixes in memory\nwas targeted towards making clones faster. With this change,\nthe clone performance is unaffected when tests were done with\nrepos containing many(~500k) refs.\n\nHere are few recorded elapsed times for creating 10 branches\nusing BatchRefUpdate on NFS based repositories with varying\nloose refs count. As seen here, this change helps improve the\nBatchRefUpdate performance from O(n^2) to O(1).\n\nloose_refs_count  with_change  without_change\n50                241 ms        310 ms\n300               263 ms        1502 ms\n1k                181 ms        4241 ms\n2k                204 ms        6440 ms\n9k                158 ms        25930 ms\n20k               154 ms        60443 ms\n50k               171 ms        135199 ms\n110k              157 ms        329450 ms\n160k              209 ms        396328 ms\n\nThis update improves the Gerrit notedb migration performance\nas it uses BatchRefUpdate to write change meta refs similar to\nthe test performed above.\n\nChange-Id: I853ac6c7feb4b39c3156c01876b38cbd182accfe\nSigned-off-by: Kaushik Lingarkar \u003cquic_kaushikl@quicinc.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "925b6beadb38a719843d0416d9050d26daabe4be",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/lib/BatchRefUpdate.java",
      "new_id": "46d2ab3397809d5a155d5e3168eb43d8cfcc32c5",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/lib/BatchRefUpdate.java"
    }
  ]
}
