)]}'
{
  "commit": "c35845f6c9b6de01a0b9e7d973379ee779b8d3aa",
  "tree": "9f4442e918e4d15067376ef3c01302fd1a8c8414",
  "parents": [
    "0fc73a2465620c92633c42fb693c847faabc8c0b"
  ],
  "author": {
    "name": "birenroy",
    "email": "birenroy@google.com",
    "time": "Tue Aug 11 12:57:05 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Aug 11 12:57:40 2026 -0700"
  },
  "message": "Expands the fast-path lookup table in `HpackHuffmanDecoder` to 8 bits.\n\nExpands `kShortCodeTable` from 7 bits (124 entries) to 8 bits (254 entries), allowing all 5, 6, 7, and 8-bit HPACK Huffman codes (covering standard ASCII letters, digits, and common HTTP header punctuation) to be decoded in a single fast-path lookup step.\n\nThis 508-byte lookup table is still compact enough to be CPU cache efficient.\n\nBased on benchmark runs against the current state, here is how this optimization compares:\n\n- **Overall Performance (`geomean`)**: **+5.44%** increase in throughput (from `95.22 MiB/s` to `100.4 MiB/s`).\n- **Largest Gains**:\n  - `BM_DecodeChunkedInput/16`: **+13.58%**\n  - `BM_DecodeLargeString/4k`: **+12.20%**\n  - `BM_DecodeChunkedInput/64`: **+11.86%**\n  - `BM_DecodeLargeString/1k`: **+11.63%**\n\nThis optimization was generated by Gemini.\n\nThe performance investigation that led to this improvement was motiviated by an article by the folks at Apoxy.\n* https://apoxy.dev/blog/oghttp2-vs-nghttp2\n\nProtected by FLAGS_gfe2_reloadable_flag_hpack_huffman_decoder_optimizations.\n\nPiperOrigin-RevId: 962946960\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "412762e20d58c7feb1a6b8d207ada1bde89cc3bd",
      "old_mode": 33261,
      "old_path": "quiche/common/quiche_feature_flags_list.h",
      "new_id": "ace0c66a89305d7b772a2541ec6e8f4403926f99",
      "new_mode": 33261,
      "new_path": "quiche/common/quiche_feature_flags_list.h"
    },
    {
      "type": "modify",
      "old_id": "71abbbb478dd7af4245dfdc7f47567a542669a6c",
      "old_mode": 33188,
      "old_path": "quiche/http2/hpack/huffman/hpack_huffman_decoder.cc",
      "new_id": "21b411db1dee3fe1b5b5e25fa1671ff8da321564",
      "new_mode": 33188,
      "new_path": "quiche/http2/hpack/huffman/hpack_huffman_decoder.cc"
    },
    {
      "type": "modify",
      "old_id": "910aba592d5f0d73fe39f42e21bbf870eb8d20fc",
      "old_mode": 33188,
      "old_path": "quiche/http2/hpack/huffman/hpack_huffman_decoder.h",
      "new_id": "2148845d12a99c0014d6f160770dd85237930c32",
      "new_mode": 33188,
      "new_path": "quiche/http2/hpack/huffman/hpack_huffman_decoder.h"
    },
    {
      "type": "modify",
      "old_id": "260415dc585461de57b2db9f29950be112ec7d4e",
      "old_mode": 33188,
      "old_path": "quiche/http2/hpack/huffman/hpack_huffman_decoder_test.cc",
      "new_id": "06d0e9059961779117814282728fd34eae11eac6",
      "new_mode": 33188,
      "new_path": "quiche/http2/hpack/huffman/hpack_huffman_decoder_test.cc"
    }
  ]
}
