)]}'
{
  "commit": "039d70f69b34b59d9696c655689316a94026fd0e",
  "tree": "bd6846859b243eaf41ac6cb2af7b60e15f759dfa",
  "parents": [
    "14a91eefa7a3f3bf0a949e82ce5854659588a5c0"
  ],
  "author": {
    "name": "Connal de Souza",
    "email": "connaldesouza@google.com",
    "time": "Fri Aug 04 09:37:41 2023 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Aug 04 09:39:01 2023 -0700"
  },
  "message": "Optimize Swissmap Match on Arm.\n\nCurrently we require only a single bit to be set in each abstract bit for iterable bitmasks. However, in most cases, where we have a single match, or no matches in a group, iteration is not needed. We move the masking to the iteration function instead of having it as a requirement for iterable Bitmask construction.\n\nThis is 4-8% faster for Find and Insert operations.\n\nThis can hurt performance if we need to iterate many times (there are many matches in the same Group), however this is unlikely, even if we assume the table is completely full.\n\nIf there are 0 or 1 matches in a group, or the first match is the correct item we are looking for, we save 1 instruction/cycle (most cases)\nIf there are 2 matches in a group, and the first is a false positive, this is neutral (\u003c 3%)\nIf there are more than 2 matches in a group and the first two are false positives, this can be slower by 1 cycle/instruction per additional iteration (\u003c 0.1%)\n\nNo change to x86.\n\nPiperOrigin-RevId: 553831814\nChange-Id: I08620899847eaf0086da989d829a1029ea24173a\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "26cd2e549446130948c96bb6837e66a4d7aa2646",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_set.h",
      "new_id": "4c1e564a6b8943b89ba25ca8101bc2d32ae6f6b0",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_set.h"
    }
  ]
}
