)]}'
{
  "commit": "29ef75d62c983326e5229bbe89e5d1a7d465a4dd",
  "tree": "c22ce508d0378219cf28e6858019c853ca76b25b",
  "parents": [
    "2f379150bb70cfedb6d46b822a4ae0618c1f412d"
  ],
  "author": {
    "name": "Ilya Tokar",
    "email": "tokarip@google.com",
    "time": "Fri Jun 05 13:12:44 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Jun 05 13:14:19 2026 -0700"
  },
  "message": "Add simd codepath to ascii skip.\n\nWe are already using intrinsics and complier generates significantly\nworse code when I modify code to make it vectorizable. Looking\nat prod profiles we are averaging ~30 bytes per call, so\nAVX (32-byte) SIMD is not needed. Makes this ~30% faster for common case.\n\nname                                                    B/s              B/s        vs base\nBM_IsInterchangeValid7BitAsciiX                          12.95Gi ±   0%    12.67Gi ±   0%   -2.14% (p\u003d0.002 n\u003d6)\nBM_IsInterchangeValid7BitAsciiTab                        3.167Gi ±   0%    3.133Gi ±   0%   -1.07% (p\u003d0.002 n\u003d6)\nBM_IsInterchangeValid7BitAsciiMix                        8.820Gi ±   1%    8.763Gi ±   1%   -0.64% (p\u003d0.041 n\u003d6)\nBM_CordIsInterchangeValid                                451.3Mi ±   1%    452.5Mi ±   1%        ~ (p\u003d0.485 n\u003d6)\nBM_CordIsStructurallyValid                               1.156Gi ±   5%    1.122Gi ±   2%   -2.90% (p\u003d0.002 n\u003d6)\nBM_ToLowerHackString/1                [all_ascii_short]  364.0Mi ±   0%    349.3Mi ±   0%   -4.04% (p\u003d0.002 n\u003d6)\nBM_ToLowerHackString/2                [all_ascii_long ]  1.077Gi ±   1%    1.109Gi ±   1%   +2.91% (p\u003d0.002 n\u003d6)\nBM_ToLowerHackString/3                [UTF8_short     ]  97.03Mi ±   3%    98.56Mi ±   0%   +1.57% (p\u003d0.002 n\u003d6)\nBM_ToLowerHackString/4                [UTF8_long      ]  286.2Mi ±   1%    292.5Mi ±   2%   +2.20% (p\u003d0.015 n\u003d6)\nBM_ToLowerHackBuf/1                   [all_ascii_short]  524.0Mi ±   0%    493.5Mi ±   0%   -5.82% (p\u003d0.002 n\u003d6)\nBM_ToLowerHackBuf/2                   [all_ascii_long ]  1.919Gi ±   0%    1.852Gi ±   0%   -3.52% (p\u003d0.002 n\u003d6)\nBM_ToLowerHackBuf/3                   [UTF8_short     ]  134.2Mi ±   0%    129.1Mi ±   0%   -3.80% (p\u003d0.002 n\u003d6)\nBM_ToLowerHackBuf/4                   [UTF8_long      ]  373.5Mi ±   0%    371.2Mi ±   2%   -0.60% (p\u003d0.015 n\u003d6)\nBM_CoerceToStructurallyValid/4/0                         1.837Gi ±  51%    1.686Gi ±  49%   -8.19% (p\u003d0.041 n\u003d6)\nBM_CoerceToStructurallyValid/4/1                         1.869Gi ±  51%    1.687Gi ±  49%   -9.77% (p\u003d0.041 n\u003d6)\nBM_CoerceToStructurallyValid/4/8                         1.367Gi ±  61%    1.276Gi ±  34%        ~ (p\u003d0.699 n\u003d6)\nBM_CoerceToStructurallyValid/4/64                        240.6Mi ±  70%    291.4Mi ±  64%        ~ (p\u003d0.180 n\u003d6)\nBM_CoerceToStructurallyValid/4/100                       230.2Mi ±  42%    256.4Mi ±  39%        ~ (p\u003d0.589 n\u003d6)\nBM_CoerceToStructurallyValid/8/0                         1.491Gi ±  95%    2.755Gi ±  50%        ~ (p\u003d0.818 n\u003d6)\nBM_CoerceToStructurallyValid/8/1                         2.907Gi ±  54%    1.471Gi ±  87%        ~ (p\u003d0.394 n\u003d6)\nBM_CoerceToStructurallyValid/8/8                         1.214Gi ± 140%    1.133Gi ± 143%        ~ (p\u003d0.937 n\u003d6)\nBM_CoerceToStructurallyValid/8/64                        303.5Mi ±  38%    286.2Mi ±  36%        ~ (p\u003d0.818 n\u003d6)\nBM_CoerceToStructurallyValid/8/100                       237.3Mi ±  23%    222.9Mi ±  28%        ~ (p\u003d0.394 n\u003d6)\nBM_CoerceToStructurallyValid/64/0                        4.240Gi ±   5%    4.225Gi ±   7%        ~ (p\u003d0.699 n\u003d6)\nBM_CoerceToStructurallyValid/64/1                        3.018Gi ±  40%    3.612Gi ±  33%        ~ (p\u003d0.699 n\u003d6)\nBM_CoerceToStructurallyValid/64/8                        1.030Gi ±  16%    1.137Gi ±  35%        ~ (p\u003d0.310 n\u003d6)\nBM_CoerceToStructurallyValid/64/64                       261.1Mi ±  16%    224.6Mi ±  19%        ~ (p\u003d0.065 n\u003d6)\nBM_CoerceToStructurallyValid/64/100                      198.9Mi ±  18%    182.9Mi ±  14%        ~ (p\u003d0.485 n\u003d6)\nBM_CoerceToStructurallyValid/512/0                       5.608Gi ±   3%    5.660Gi ±   2%        ~ (p\u003d0.093 n\u003d6)\nBM_CoerceToStructurallyValid/512/1                       3.847Gi ±  15%    3.651Gi ±  26%        ~ (p\u003d0.310 n\u003d6)\nBM_CoerceToStructurallyValid/512/8                       1.153Gi ±  17%    1.068Gi ±  37%        ~ (p\u003d0.818 n\u003d6)\nBM_CoerceToStructurallyValid/512/64                      235.0Mi ±   4%    221.8Mi ±   5%   -5.60% (p\u003d0.009 n\u003d6)\nBM_CoerceToStructurallyValid/512/100                     184.6Mi ±   3%    172.5Mi ±   3%   -6.59% (p\u003d0.002 n\u003d6)\nBM_CoerceToStructurallyValid/4k/0                        5.770Gi ±   0%    6.027Gi ±   1%   +4.45% (p\u003d0.002 n\u003d6)\nBM_CoerceToStructurallyValid/4k/1                        3.538Gi ±   7%    3.535Gi ±   4%        ~ (p\u003d0.589 n\u003d6)\nBM_CoerceToStructurallyValid/4k/8                       1078.9Mi ±  11%    913.8Mi ±   8%  -15.31% (p\u003d0.002 n\u003d6)\nBM_CoerceToStructurallyValid/4k/64                       219.1Mi ±   2%    209.7Mi ±   2%   -4.29% (p\u003d0.002 n\u003d6)\nBM_CoerceToStructurallyValid/4k/100                      180.4Mi ±   1%    171.6Mi ±   1%   -4.92% (p\u003d0.002 n\u003d6)\nBM_CoerceToStructurallyValid/32k/0                       5.512Gi ±   0%    5.797Gi ±   0%   +5.17% (p\u003d0.002 n\u003d6)\nBM_CoerceToStructurallyValid/32k/1                       3.137Gi ±   2%    3.092Gi ±   3%        ~ (p\u003d0.240 n\u003d6)\nBM_CoerceToStructurallyValid/32k/8                       736.1Mi ±   2%    717.4Mi ±   2%   -2.55% (p\u003d0.004 n\u003d6)\nBM_CoerceToStructurallyValid/32k/64                      214.8Mi ±   1%    205.1Mi ±   1%   -4.48% (p\u003d0.002 n\u003d6)\nBM_CoerceToStructurallyValid/32k/100                     178.5Mi ±   0%    170.8Mi ±   2%   -4.32% (p\u003d0.002 n\u003d6)\nBM_CoerceToStructurallyValid/256k/0                      5.030Gi ±   1%    5.268Gi ±   1%   +4.74% (p\u003d0.002 n\u003d6)\nBM_CoerceToStructurallyValid/256k/1                      2.644Gi ±   1%    2.625Gi ±   1%        ~ (p\u003d0.240 n\u003d6)\nBM_CoerceToStructurallyValid/256k/8                      688.9Mi ±   0%    677.9Mi ±   0%   -1.61% (p\u003d0.002 n\u003d6)\nBM_CoerceToStructurallyValid/256k/64                     212.2Mi ±   0%    203.3Mi ±   0%   -4.19% (p\u003d0.002 n\u003d6)\nBM_CoerceToStructurallyValid/256k/100                    177.8Mi ±   1%    169.8Mi ±   0%   -4.52% (p\u003d0.002 n\u003d6)\nBM_CoerceToStructurallyValid/1M/0                        5.034Gi ±   0%    5.252Gi ±   1%   +4.33% (p\u003d0.002 n\u003d6)\nBM_CoerceToStructurallyValid/1M/1                        2.605Gi ±   0%    2.587Gi ±   1%   -0.69% (p\u003d0.026 n\u003d6)\nBM_CoerceToStructurallyValid/1M/8                        689.1Mi ±   0%    675.6Mi ±   0%   -1.95% (p\u003d0.002 n\u003d6)\nBM_CoerceToStructurallyValid/1M/64                       212.4Mi ±   1%    203.3Mi ±   0%   -4.30% (p\u003d0.002 n\u003d6)\nBM_CoerceToStructurallyValid/1M/100                      177.6Mi ±   0%    169.8Mi ±   0%   -4.35% (p\u003d0.002 n\u003d6)\nBM_UTF8Valid\u003cIsValidUTF8\u003e/64                             1.228Gi ±   9%    1.268Gi ±   7%        ~ (p\u003d0.394 n\u003d6)\nBM_UTF8Valid\u003cIsValidUTF8\u003e/512                            1.538Gi ±   1%    1.545Gi ±   1%        ~ (p\u003d0.310 n\u003d6)\nBM_UTF8Valid\u003cIsValidUTF8\u003e/4k                             1.587Gi ±   0%    1.586Gi ±   0%        ~ (p\u003d0.589 n\u003d6)\nBM_UTF8Valid\u003cIsValidUTF8\u003e/32k                            1.595Gi ±   0%    1.592Gi ±   0%   -0.22% (p\u003d0.009 n\u003d6)\nBM_UTF8Valid\u003cIsValidUTF8\u003e/3                              287.5Mi ±  13%    272.1Mi ±  16%        ~ (p\u003d0.937 n\u003d6)\nBM_UTF8Valid\u003cIsValidUTF8\u003e/6                              485.2Mi ±  15%    514.6Mi ±  14%        ~ (p\u003d0.937 n\u003d6)\nBM_UTF8Valid\u003cIsValidUTF8\u003e/9                              914.2Mi ±   3%    914.3Mi ±   6%        ~ (p\u003d0.394 n\u003d6)\nBM_UTF8Valid\u003cIsValidUTF8\u003e/12                            1016.8Mi ±  38%   1043.8Mi ±  38%        ~ (p\u003d0.937 n\u003d6)\nBM_UTF8Valid\u003cIsValidUTF8\u003e/15                             825.5Mi ±  15%    719.7Mi ±  27%        ~ (p\u003d0.589 n\u003d6)\nBM_UTF8Valid\u003cIsValidUTF8\u003e/18                            1107.7Mi ±  15%   1017.7Mi ±  12%        ~ (p\u003d0.240 n\u003d6)\nBM_UTF8Valid\u003cIsValidUTF8\u003e/21                             1.242Gi ±   3%    1.234Gi ±   4%        ~ (p\u003d0.310 n\u003d6)\nBM_UTF8Valid\u003cIsValidUTF8\u003e/24                             925.0Mi ±  11%    945.7Mi ±  12%        ~ (p\u003d0.485 n\u003d6)\nBM_UTF8Valid\u003cSpanUTF8\u003e/64                                1.230Gi ±   6%    1.175Gi ±   8%        ~ (p\u003d0.132 n\u003d6)\nBM_UTF8Valid\u003cSpanUTF8\u003e/512                               1.502Gi ±   1%    1.438Gi ±   1%   -4.29% (p\u003d0.002 n\u003d6)\nBM_UTF8Valid\u003cSpanUTF8\u003e/4k                                1.554Gi ±   0%    1.492Gi ±   0%   -4.01% (p\u003d0.002 n\u003d6)\nBM_UTF8Valid\u003cSpanUTF8\u003e/32k                               1.563Gi ±   0%    1.496Gi ±   0%   -4.26% (p\u003d0.002 n\u003d6)\nBM_UTF8Valid\u003cSpanUTF8\u003e/3                                 240.3Mi ±  18%    261.5Mi ±  10%        ~ (p\u003d0.240 n\u003d6)\nBM_UTF8Valid\u003cSpanUTF8\u003e/6                                 365.8Mi ±  28%    439.6Mi ±   5%        ~ (p\u003d0.065 n\u003d6)\nBM_UTF8Valid\u003cSpanUTF8\u003e/9                                 908.2Mi ±  19%    880.1Mi ±   4%        ~ (p\u003d0.093 n\u003d6)\nBM_UTF8Valid\u003cSpanUTF8\u003e/12                                577.2Mi ±  17%    644.3Mi ± 101%  +11.63% (p\u003d0.015 n\u003d6)\nBM_UTF8Valid\u003cSpanUTF8\u003e/15                                680.8Mi ±  17%    689.6Mi ±  30%        ~ (p\u003d0.180 n\u003d6)\nBM_UTF8Valid\u003cSpanUTF8\u003e/18                                838.3Mi ±  38%    869.0Mi ±  24%        ~ (p\u003d0.699 n\u003d6)\nBM_UTF8Valid\u003cSpanUTF8\u003e/21                                1.237Gi ±   7%    1.174Gi ±   4%        ~ (p\u003d0.132 n\u003d6)\nBM_UTF8Valid\u003cSpanUTF8\u003e/24                                937.4Mi ±  55%    965.6Mi ±  11%        ~ (p\u003d0.589 n\u003d6)\nBM_FrenchValid\u003cIsValidUTF8\u003e/64                           4.750Gi ±  14%    4.369Gi ±  16%        ~ (p\u003d0.240 n\u003d6)\nBM_FrenchValid\u003cIsValidUTF8\u003e/512                          5.551Gi ±   2%    5.606Gi ±   4%        ~ (p\u003d0.699 n\u003d6)\nBM_FrenchValid\u003cIsValidUTF8\u003e/4k                           5.631Gi ±   1%    5.659Gi ±   1%        ~ (p\u003d0.240 n\u003d6)\nBM_FrenchValid\u003cIsValidUTF8\u003e/32k                          5.700Gi ±   0%    5.719Gi ±   0%   +0.33% (p\u003d0.002 n\u003d6)\nBM_FrenchValid\u003cIsValidUTF8\u003e/3                           1081.8Mi ±  29%   1014.9Mi ±  17%        ~ (p\u003d0.589 n\u003d6)\nBM_FrenchValid\u003cIsValidUTF8\u003e/6                            1.231Gi ±  45%    1.442Gi ±  32%        ~ (p\u003d0.818 n\u003d6)\nBM_FrenchValid\u003cIsValidUTF8\u003e/9                            1.078Gi ±  32%    1.081Gi ±  30%        ~ (p\u003d0.937 n\u003d6)\nBM_FrenchValid\u003cIsValidUTF8\u003e/12                           1.132Gi ± 285%    1.073Gi ± 265%        ~ (p\u003d0.818 n\u003d6)\nBM_FrenchValid\u003cIsValidUTF8\u003e/15                           1.219Gi ±  79%    1.101Gi ± 137%        ~ (p\u003d0.132 n\u003d6)\nBM_FrenchValid\u003cIsValidUTF8\u003e/18                           1.744Gi ±  69%    2.757Gi ± 166%        ~ (p\u003d0.180 n\u003d6)\nBM_FrenchValid\u003cIsValidUTF8\u003e/21                           2.105Gi ±  61%    2.569Gi ± 112%        ~ (p\u003d0.699 n\u003d6)\nBM_FrenchValid\u003cIsValidUTF8\u003e/24                           2.402Gi ±  33%    2.480Gi ±  23%        ~ (p\u003d0.818 n\u003d6)\nBM_FrenchValid\u003cSpanUTF8\u003e/64                              4.230Gi ±  14%    3.991Gi ±  22%        ~ (p\u003d0.818 n\u003d6)\nBM_FrenchValid\u003cSpanUTF8\u003e/512                             5.474Gi ±   2%    5.079Gi ±   4%   -7.23% (p\u003d0.002 n\u003d6)\nBM_FrenchValid\u003cSpanUTF8\u003e/4k                              5.496Gi ±   1%    5.338Gi ±   1%   -2.87% (p\u003d0.002 n\u003d6)\nBM_FrenchValid\u003cSpanUTF8\u003e/32k                             5.582Gi ±   0%    5.405Gi ±   1%   -3.18% (p\u003d0.002 n\u003d6)\nBM_FrenchValid\u003cSpanUTF8\u003e/3                               825.4Mi ±  21%    989.2Mi ±  40%        ~ (p\u003d0.818 n\u003d6)\nBM_FrenchValid\u003cSpanUTF8\u003e/6                              1246.0Mi ±  15%    859.4Mi ±  32%  -31.03% (p\u003d0.009 n\u003d6)\nBM_FrenchValid\u003cSpanUTF8\u003e/9                               1.270Gi ± 189%    1.012Gi ± 222%  -20.34% (p\u003d0.026 n\u003d6)\nBM_FrenchValid\u003cSpanUTF8\u003e/12                             1342.7Mi ±  99%   1020.0Mi ±  10%  -24.03% (p\u003d0.002 n\u003d6)\nBM_FrenchValid\u003cSpanUTF8\u003e/15                              2.043Gi ±  41%    1.468Gi ±  91%        ~ (p\u003d0.310 n\u003d6)\nBM_FrenchValid\u003cSpanUTF8\u003e/18                              2.254Gi ±  39%    2.064Gi ±  49%        ~ (p\u003d0.699 n\u003d6)\nBM_FrenchValid\u003cSpanUTF8\u003e/21                              2.022Gi ±  13%    1.964Gi ±  28%        ~ (p\u003d0.589 n\u003d6)\nBM_FrenchValid\u003cSpanUTF8\u003e/24                              1.962Gi ±   9%    2.094Gi ±  33%        ~ (p\u003d0.485 n\u003d6)\nBM_ASCIIValid\u003cIsValidUTF8\u003e/64                            14.95Gi ±   6%    17.43Gi ±   0%  +16.56% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cIsValidUTF8\u003e/512                           18.99Gi ±   1%    30.74Gi ±   1%  +61.87% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cIsValidUTF8\u003e/4k                            18.40Gi ±   0%    27.96Gi ±   0%  +51.97% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cIsValidUTF8\u003e/32k                           19.53Gi ±   2%    30.12Gi ±   0%  +54.17% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cIsValidUTF8\u003e/3                             1.224Gi ±   0%    1.090Gi ±   0%  -11.00% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cIsValidUTF8\u003e/6                             1.783Gi ±   1%    1.636Gi ±   0%   -8.25% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cIsValidUTF8\u003e/9                             4.519Gi ±   0%    3.675Gi ±   0%  -18.66% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cIsValidUTF8\u003e/12                            4.357Gi ±   0%    3.566Gi ±   0%  -18.15% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cIsValidUTF8\u003e/15                            4.085Gi ±   1%    3.505Gi ±   0%  -14.21% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cIsValidUTF8\u003e/18                            6.534Gi ±   0%    7.338Gi ±   0%  +12.31% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cIsValidUTF8\u003e/21                            5.721Gi ±   0%    6.234Gi ±   3%   +8.96% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cIsValidUTF8\u003e/24                            8.714Gi ±   0%    8.707Gi ±   0%        ~ (p\u003d0.394 n\u003d6)\nBM_ASCIIValid\u003cSpanUTF8\u003e/64                               14.45Gi ±   3%    14.95Gi ±   0%   +3.45% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cSpanUTF8\u003e/512                              18.67Gi ±  15%    23.29Gi ±   1%  +24.74% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cSpanUTF8\u003e/4k                               18.91Gi ±   0%    24.88Gi ±   0%  +31.55% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cSpanUTF8\u003e/32k                              22.13Gi ±   2%    25.99Gi ±   1%  +17.42% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cSpanUTF8\u003e/3                               1002.3Mi ±   2%    913.5Mi ±   0%   -8.86% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cSpanUTF8\u003e/6                                1.509Gi ±   0%    1.402Gi ±   0%   -7.10% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cSpanUTF8\u003e/9                                3.674Gi ±   0%    2.675Gi ±   0%  -27.19% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cSpanUTF8\u003e/12                               3.566Gi ±   0%    2.804Gi ±   0%  -21.36% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cSpanUTF8\u003e/15                               3.309Gi ±   3%    2.888Gi ±   0%  -12.71% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cSpanUTF8\u003e/18                               5.880Gi ±   1%    5.875Gi ±   0%        ~ (p\u003d0.310 n\u003d6)\nBM_ASCIIValid\u003cSpanUTF8\u003e/21                               5.035Gi ±   3%    5.204Gi ±   1%   +3.36% (p\u003d0.002 n\u003d6)\nBM_ASCIIValid\u003cSpanUTF8\u003e/24                               8.708Gi ±   0%    7.839Gi ±   0%   -9.98% (p\u003d0.002 n\u003d6)\ngeomean                                                 1.517Gi           1.505Gi          -0.80%\n\nPiperOrigin-RevId: 927448522\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f3301cc270733c2c564a97861e87c02a3315d547",
      "old_mode": 33188,
      "old_path": "third_party/utf8_range/utf8_range.c",
      "new_id": "dc6c2c55549886fcb9dfd278b585a9403e4c8493",
      "new_mode": 33188,
      "new_path": "third_party/utf8_range/utf8_range.c"
    }
  ]
}
