)]}'
{
  "commit": "bbc58edf87e812dfd56b041d3f96e89e99a7f1d0",
  "tree": "43782164b6164f73e551023a1334663979a14f5d",
  "parents": [
    "c7ab62b3315fa31bcb8817b932b8d557405f23fc"
  ],
  "author": {
    "name": "Tony Liao",
    "email": "tonyliaoss@google.com",
    "time": "Mon Jun 29 13:09:44 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Mon Jun 29 13:22:33 2026 -0700"
  },
  "message": "Memoize a map of alternate enum JSON names when parsing JSON in C++.\n\nAlternate enum JSON names (aka \"EnumValueOption\") is a planned feature\nof Edition 2026.\n\nname                          CYCLES/op    CYCLES/op   vs base\nBM_ParseJsonDefault             829.6 ± 1%    844.6 ± 1%   +1.80% (p\u003d0.000 n\u003d100)\nBM_ParseJsonDefaultCaseless    1037.9 ± 0%    889.8 ± 0%  -14.27% (n\u003d100)\nBM_ParseJsonCustom             1048.9 ± 1%    892.6 ± 0%  -14.90% (n\u003d100)\nBM_ParseJsonCustomCaseless     1060.9 ± 1%    915.6 ± 0%  -13.70% (n\u003d100)\nBM_ParseJsonUnknown            1.531k ± 0%   1.191k ± 0%  -22.23% (n\u003d100)\ngeomean                       1.080k         939.4       -13.00%\n\nname                          INSTRUCTIONS/op  INSTRUCTIONS/op  vs base\nBM_ParseJsonDefault            3.400k ± 0%       3.439k ± 0%   +1.15% (p\u003d0.000 n\u003d100)\nBM_ParseJsonDefaultCaseless    4.517k ± 0%       3.629k ± 0%  -19.65% (n\u003d100)\nBM_ParseJsonCustom             4.294k ± 0%       3.597k ± 0%  -16.23% (n\u003d100)\nBM_ParseJsonCustomCaseless     4.443k ± 0%       3.688k ± 0%  -16.99% (n\u003d100)\nBM_ParseJsonUnknown            5.979k ± 0%       4.516k ± 0%  -24.46% (n\u003d100)\ngeomean                       4.454k            3.756k       -15.65%\n\nname                          CACHE-MISSES/op  CACHE-MISSES/op  vs base\nBM_ParseJsonDefault            7.000m ± 14%      7.000m ± 14%        ~ (p\u003d0.279 n\u003d100)\nBM_ParseJsonDefaultCaseless   10.000m ± 20%      7.000m ± 14%  -30.00% (p\u003d0.002 n\u003d100)\nBM_ParseJsonCustom             9.500m ±  5%      8.000m ± 12%  -15.79% (p\u003d0.000 n\u003d100)\nBM_ParseJsonCustomCaseless    10.000m ± 10%      8.000m ±  0%  -20.00% (p\u003d0.000 n\u003d100)\nBM_ParseJsonUnknown            18.00m ± 11%      13.00m ±  8%  -27.78% (p\u003d0.000 n\u003d100)\ngeomean                       10.37m            8.357m        -19.38%\n\nname                          BRANCH-MISSES/op  BRANCH-MISSES/op  vs base\nBM_ParseJsonDefault            78.00m ± 0%        77.00m ± 0%   -1.28% (p\u003d0.000 n\u003d100)\nBM_ParseJsonDefaultCaseless    90.00m ± 0%        78.00m ± 5%  -13.33% (n\u003d100)\nBM_ParseJsonCustom             96.00m ± 2%        91.00m ± 0%   -5.21% (p\u003d0.000 n\u003d100)\nBM_ParseJsonCustomCaseless     97.00m ± 1%        92.50m ± 1%   -4.64% (n\u003d100)\nBM_ParseJsonUnknown            39.00m ± 3%        27.00m ± 4%  -30.77% (n\u003d100)\ngeomean                       76.08m             67.15m       -11.75%\n\nname                          allocs/op   allocs/op   vs base\nBM_ParseJsonDefault             7.001 ± 0%   7.001 ± 0%        ~ (p\u003d0.898 n\u003d100)\nBM_ParseJsonDefaultCaseless    11.144 ± 0%   7.000 ± 0%  -37.19% (n\u003d100)\nBM_ParseJsonCustom             11.144 ± 0%   7.001 ± 0%  -37.18% (n\u003d100)\nBM_ParseJsonCustomCaseless     11.144 ± 0%   7.000 ± 0%  -37.19% (n\u003d100)\nBM_ParseJsonUnknown             24.00 ± 0%   16.00 ± 0%  -33.33% (n\u003d100)\ngeomean                       11.84        8.259       -30.24%\n\nname                          peak-mem(Bytes)/op  peak-mem(Bytes)/op  vs base\nBM_ParseJsonDefault             824.0 ± 6%           824.0 ± 6%       ~ (p\u003d1.000 n\u003d100)\nBM_ParseJsonDefaultCaseless     824.0 ± 6%           776.0 ± 6%       ~ (p\u003d0.158 n\u003d100)\nBM_ParseJsonCustom              824.0 ± 6%           824.0 ± 6%       ~ (p\u003d0.321 n\u003d100)\nBM_ParseJsonCustomCaseless      824.0 ± 6%           776.0 ± 6%       ~ (p\u003d0.673 n\u003d100)\nBM_ParseJsonUnknown            1.000k ± 0%          1.048k ± 0%  +4.80% (p\u003d0.000 n\u003d100)\ngeomean                       856.5                844.1       -1.45%\n\nPiperOrigin-RevId: 939991030\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9b25d1ad23d1448624adda7ec7836478f45bb2ff",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/BUILD.bazel",
      "new_id": "5e2197c7caa7770fb42860cc6dc51ff265f59ded",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "91aef656ef1e7f461c0a8b7e8748076a0bbee894",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/descriptor.h",
      "new_id": "b67ed53a604ce6a6afd334ccfe417e4187a09ef6",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/descriptor.h"
    },
    {
      "type": "modify",
      "old_id": "4f61fdcf9f044b8126c447a5a412c8c2da1289b6",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/json/BUILD",
      "new_id": "2ab38bce8272cb5b236f8f4bb082cbb810883547",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/json/BUILD"
    },
    {
      "type": "modify",
      "old_id": "435eda00a27b3382aaa546f7a6c4f023f03b3605",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/json/internal/descriptor_traits.h",
      "new_id": "e5892367fc4e6c4b43b51cbb60b6ad87b191b99f",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/json/internal/descriptor_traits.h"
    },
    {
      "type": "modify",
      "old_id": "e5f5ea40f14dcd60ff37f1bd4c110e48c3ff5282",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/json/json_enumval_custom_string_test.cc",
      "new_id": "3da5c885e8ae1cd69bd74d313733e186bb9f74ae",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/json/json_enumval_custom_string_test.cc"
    }
  ]
}
