)]}'
{
  "commit": "c864ba89a0326b83500c5d4f2338743adcc58daa",
  "tree": "65a9d719863fcfd562dcffe9138f5c51f36ac2de",
  "parents": [
    "88747b0d53b8fbe4871ef06949a3b6401b5282f8"
  ],
  "author": {
    "name": "Joerg Kubitz",
    "email": "jkubitz-eclipse@gmx.de",
    "time": "Thu Sep 30 01:06:51 2021 +0200"
  },
  "committer": {
    "name": "Jörg Kubitz",
    "email": "jkubitz-eclipse@gmx.de",
    "time": "Fri Oct 01 22:30:21 2021 -0400"
  },
  "message": "Bug 576333 - [performance] optimize EclipseContext.getChildren()\n\nEclipseContext.getChildren() is a hotspot during open/close editors.\nThe Set semantics for EclipseContext.children are not needed since\nchildren are anyway only added once. Only a Bag is needed.\nAlso it is not needed to compute a Set that is returned by getChildren.\nAll Callers only use the for-each loop so its sufficient to just return\nan Iterable which removes stale entries on the fly instead of copying\nthe set.\nAlso children can remove from parent by just clearing their self\nreference. No need to search for it.\n\nChange-Id: If1be10ba1bebfdd2901fe96abc9a9c6e0b47c6e2\nSigned-off-by: Joerg Kubitz \u003cjkubitz-eclipse@gmx.de\u003e\nReviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.runtime/+/185959\nTested-by: Platform Bot \u003cplatform-bot@eclipse.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a83bdb43a8e7f2cc4dbb9efdf9ca7b11c0ef0459",
      "old_mode": 33188,
      "old_path": "bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/EclipseContext.java",
      "new_id": "e8b73117be6adb7e39c5aae850775452e0a4653b",
      "new_mode": 33188,
      "new_path": "bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/EclipseContext.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fe3058984fc2dda7d2cf9de5bbe705965d390a1e",
      "new_mode": 33188,
      "new_path": "bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/StrongIterable.java"
    },
    {
      "type": "modify",
      "old_id": "597f982b928bc1e4b18c3472afe449cdb4ebd8ab",
      "old_mode": 33188,
      "old_path": "tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/EclipseContextTest.java",
      "new_id": "f38b9b589263fccbba6c7dc25f769b643d9617b0",
      "new_mode": 33188,
      "new_path": "tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/EclipseContextTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "09ec8f2391658b92b268302ecd02013e9e7da36f",
      "new_mode": 33188,
      "new_path": "tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/StrongIterableTest.java"
    },
    {
      "type": "modify",
      "old_id": "69a8f3943d132c0470d1a5f5c2b66add4b057703",
      "old_mode": 33188,
      "old_path": "tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/tests/CoreTestSuite.java",
      "new_id": "c529d733ec69041d70a34f88a326f0c35ac70a69",
      "new_mode": 33188,
      "new_path": "tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/tests/CoreTestSuite.java"
    }
  ]
}
