)]}'
{
  "commit": "e1782ab6dce66b452345bfdda12e1db5f363121f",
  "tree": "f34a6b0a9d7ec0889cb056928b55177b8e7badb7",
  "parents": [
    "ea4d64c5e642f12ef0dccc8b6e3ba06ff3e5fb1b"
  ],
  "author": {
    "name": "jkubitz",
    "email": "jkubitz-eclipse@gmx.de",
    "time": "Wed Feb 10 14:41:57 2021 +0100"
  },
  "committer": {
    "name": "Alex Blewitt",
    "email": "alex.blewitt@gmail.com",
    "time": "Tue Mar 23 15:01:48 2021 -0400"
  },
  "message": "Bug 570896 - [performance] Improve AliasManager LocationMap compare\n\nAvoid memory allocation during compare\n\nPart 2: changed implementation:\nThe compare is a memory hot spot. The old implementation used new\ninstances of Path during each compare and thus a lot of ephemeral String\nmemory allocation which did presssure the GC. The new implementation\navoids memory allocation at all by comparing the path string without\nsplitting it into several String instances.\nAlso the old Path constructor performed some non needed normalization of\npath strings which are not needed for already normalized URI path\nstrings.\nAlso fixed compare contract sgn(compare(x, y)) \u003d\u003d -sgn(compare(y, x))\nin case of Exceptions\nFor compatibility the new version is only used for LocalFile.\n\nBug: 570896\nChange-Id: I10a454af867ab3141d1f1ca33e55e4d0b6b26e85\nSigned-off-by: jkubitz \u003cjkubitz-eclipse@gmx.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ca7d90b8023e8c770ef55bfe9f56f2b215038b9a",
      "old_mode": 33188,
      "old_path": "bundles/org.eclipse.core.filesystem/META-INF/MANIFEST.MF",
      "new_id": "0043677b61f64720ba3e47a28b41b05dc7e2ac5d",
      "new_mode": 33188,
      "new_path": "bundles/org.eclipse.core.filesystem/META-INF/MANIFEST.MF"
    },
    {
      "type": "modify",
      "old_id": "4512fbb952a526b8f3f2bf34deac48000354fd48",
      "old_mode": 33188,
      "old_path": "bundles/org.eclipse.core.filesystem/src/org/eclipse/core/filesystem/IFileStore.java",
      "new_id": "b90cfa7781948d41fc26c090e2616e6827ebfd71",
      "new_mode": 33188,
      "new_path": "bundles/org.eclipse.core.filesystem/src/org/eclipse/core/filesystem/IFileStore.java"
    },
    {
      "type": "modify",
      "old_id": "bf0f55eb06390a86a727478519e069ee127c2c1d",
      "old_mode": 33188,
      "old_path": "bundles/org.eclipse.core.filesystem/src/org/eclipse/core/filesystem/URIUtil.java",
      "new_id": "d1388945984196bcf647f2dcfbe529f6e5866c1f",
      "new_mode": 33188,
      "new_path": "bundles/org.eclipse.core.filesystem/src/org/eclipse/core/filesystem/URIUtil.java"
    },
    {
      "type": "modify",
      "old_id": "5652d7a267f0f7de13bf651eec8bcadc3950dfd3",
      "old_mode": 33188,
      "old_path": "bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/LocalFile.java",
      "new_id": "1f11c28518648b318949ae2440f7bb563d581dde",
      "new_mode": 33188,
      "new_path": "bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/LocalFile.java"
    },
    {
      "type": "modify",
      "old_id": "ac8301a3cefdaa3ab1eafbbebad3845ce0d4890d",
      "old_mode": 33188,
      "old_path": "bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/AliasManager.java",
      "new_id": "8c2ede7681e6e665fe4eaaf3972cd8e451e41a5b",
      "new_mode": 33188,
      "new_path": "bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/AliasManager.java"
    },
    {
      "type": "modify",
      "old_id": "344f9949e6a1d001f1bc24fabaeab829284d1f83",
      "old_mode": 33188,
      "old_path": "tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/internal/alias/BasicAliasTest.java",
      "new_id": "cebe3934e9ee7e52890b87ff39dfbcee314e0aa2",
      "new_mode": 33188,
      "new_path": "tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/internal/alias/BasicAliasTest.java"
    }
  ]
}
