Skip to content

Clarify our take on ECMA Annex B - #2781

Merged
jviotti merged 1 commit into
mainfrom
ecma-annex-b
Sep 3, 2026
Merged

Clarify our take on ECMA Annex B#2781
jviotti merged 1 commit into
mainfrom
ecma-annex-b

Conversation

@jviotti

@jviotti jviotti commented Sep 3, 2026

Copy link
Copy Markdown
Member

See: sourcemeta/jsonschema#842
Signed-off-by: Juan Cruz Viotti jv@jviotti.com

Review in cubic

See: sourcemeta/jsonschema#842
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@augmentcode

augmentcode Bot commented Sep 3, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: This PR clarifies the project's interpretation of ECMA-262 regex syntax for JSON Schema.


Changes:

  • Documents that validation accepts the Unicode-aware u and v readings.
  • Explains why the legacy, Annex B-enabled no-flag reading is intentionally excluded.
  • Links the rationale to the relevant ECMA-262 sections and JSON Schema's Unicode guidance.
  • Describes practical strict-mode consequences for syntax characters, escapes, and properties.
  • Documents parser nesting and downstream compilation limitations.
  • Extends the API examples with Annex B-sensitive invalid patterns.
  • Adds broad regression coverage for legacy escapes, malformed braces, class ranges, lookaheads, and set notation.
  • Adds Unicode, astral-character, and parser-depth boundary cases.
Technical Notes: The tests codify strict Unicode parsing rather than a browser's legacy no-flag behavior.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. No suggestions at this time.

Comment augment review to trigger a new review at any time.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 2 files

Re-trigger cubic

@jviotti
jviotti merged commit 238702c into main Sep 3, 2026
13 checks passed
@jviotti
jviotti deleted the ecma-annex-b branch September 3, 2026 14:17

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/llvm)

Details
Benchmark suite Current: 326c24c Previous: 4862283 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.4763516218143247 ns/iter 2.5024740984144342 ns/iter 0.99
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.462963504840688 ns/iter 2.500436781178871 ns/iter 0.99
Regex_Period_Asterisk 2.4637676849236128 ns/iter 2.4625955017124257 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 2.4626077310064765 ns/iter 2.4670592454964164 ns/iter 1.00
Regex_Period_Plus 3.8675133599156566 ns/iter 3.8748630214463597 ns/iter 1.00
Regex_Period 3.8663706733746768 ns/iter 3.261839535408613 ns/iter 1.19
Regex_Caret_Period_Plus_Dollar 3.8716371483556666 ns/iter 2.4745138848540544 ns/iter 1.56
Regex_Caret_Group_Period_Plus_Group_Dollar 3.513518123862167 ns/iter 2.46343176719862 ns/iter 1.43
Regex_Caret_Period_Asterisk_Dollar 3.5169862431708387 ns/iter 2.8408180381216503 ns/iter 1.24
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.5165121447971814 ns/iter 2.4788306654223 ns/iter 1.42
Regex_Caret_X_Hyphen 5.607912929791205 ns/iter 5.498896294771271 ns/iter 1.02
Regex_Period_Md_Dollar 26.262023504548 ns/iter 28.063383965358998 ns/iter 0.94
Regex_Caret_Slash_Period_Asterisk 7.357869198803082 ns/iter 6.329089284814941 ns/iter 1.16
Regex_Caret_Period_Range_Dollar 3.86754446394206 ns/iter 3.86722207256968 ns/iter 1.00
Regex_Nested_Backtrack 38.79109736677667 ns/iter 38.8050383667197 ns/iter 1.00
JSON_Array_Of_Objects_Unique 479.8217562764075 ns/iter 477.9278431131751 ns/iter 1.00
JSON_Parse_1 4390.648384140229 ns/iter 4404.740452692054 ns/iter 1.00
JSON_Parse_Real 5126.225639781493 ns/iter 5151.761927909548 ns/iter 1.00
JSON_Parse_Decimal 7475.6617700361185 ns/iter 7345.563307086229 ns/iter 1.02
JSON_Parse_Schema_ISO_Language 3316974.3018868086 ns/iter 3324752.696682688 ns/iter 1.00
JSON_Parse_Integer 3898.382758429457 ns/iter 3907.058885148423 ns/iter 1.00
JSON_Parse_String_NonSSO_Plain 3162.423350558906 ns/iter 3055.549530241409 ns/iter 1.03
JSON_Parse_String_SSO_Plain 2773.3087575470986 ns/iter 2726.7110533229056 ns/iter 1.02
JSON_Parse_String_Escape_Heavy 11997.423136141222 ns/iter 11969.32961756054 ns/iter 1.00
JSON_Parse_Object_Short_Keys 7711.239246129642 ns/iter 7775.277903013745 ns/iter 0.99
JSON_Parse_Object_Scalar_Properties 3958.048932318733 ns/iter 3973.295443396008 ns/iter 1.00
JSON_Parse_Object_Array_Properties 5333.08996297804 ns/iter 5252.754226609739 ns/iter 1.02
JSON_Parse_Object_Object_Properties 5295.4022299105 ns/iter 5279.881717335979 ns/iter 1.00
JSON_Parse_Nested_Containers 33750.92604252613 ns/iter 34046.69758614013 ns/iter 0.99
JSON_From_String_Copy 11.425274783207419 ns/iter 11.765820002113461 ns/iter 0.97
JSON_From_String_Temporary 10.048427475247939 ns/iter 10.020493852886936 ns/iter 1.00
JSON_Number_To_Double 22.85965572876311 ns/iter 22.85784489035053 ns/iter 1.00
JSON_Object_At_Last_Key/8 4.028775468493467 ns/iter 4.035723702215463 ns/iter 1.00
JSON_Object_At_Last_Key/32 13.385038608227333 ns/iter 13.277516174793723 ns/iter 1.01
JSON_Object_At_Last_Key/128 46.84884329416516 ns/iter 46.85267779555457 ns/iter 1.00
JSON_Object_At_Last_Key/512 355.5860337444645 ns/iter 356.456194787206 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 66.14876554807589 ns/iter 66.11559148825683 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 174.57531909435846 ns/iter 168.2908830046272 ns/iter 1.04
JSON_Divisible_By_Decimal 257.99683212503635 ns/iter 259.6724059624489 ns/iter 0.99
JSON_String_Equal/10 5.628135148480479 ns/iter 6.3325716336453315 ns/iter 0.89
JSON_String_Equal/100 6.40269255863714 ns/iter 6.332128059971806 ns/iter 1.01
JSON_String_Equal_Small_By_Perfect_Hash/10 1.0555880195364173 ns/iter 1.0550496965155902 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.347609911050217 ns/iter 12.336065850160798 ns/iter 1.00
JSON_String_Fast_Hash/10 2.1125539345372903 ns/iter 2.110896296598273 ns/iter 1.00
JSON_String_Fast_Hash/100 2.1124724096393535 ns/iter 2.1106414022726545 ns/iter 1.00
JSON_String_Key_Hash/10 2.463245348480477 ns/iter 2.462275071034284 ns/iter 1.00
JSON_String_Key_Hash/100 8.091263203459357 ns/iter 8.085696591576784 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 4.2874582609067025 ns/iter 4.231882917824179 ns/iter 1.01
JSON_Object_Defines_Miss_Too_Small 3.2000542945964834 ns/iter 3.192449184009361 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 2.956414995180548 ns/iter 3.012488397521933 ns/iter 0.98
Pointer_Object_Traverse 30.8427398504261 ns/iter 30.70800586901522 ns/iter 1.00
Pointer_Object_Try_Traverse 32.84148371416105 ns/iter 32.70646510742586 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 187.19355296401253 ns/iter 181.8039178074048 ns/iter 1.03
Pointer_Walker_Schema_ISO_Language 1552233.1571754469 ns/iter 1528193.5412623475 ns/iter 1.02
Pointer_Maybe_Tracked_Deeply_Nested/0 1253227.3174602704 ns/iter 1301794.8214936387 ns/iter 0.96
Pointer_Maybe_Tracked_Deeply_Nested/1 2150474.2769231526 ns/iter 1743011.9210527402 ns/iter 1.23
Pointer_Position_Tracker_Get_Deeply_Nested 705.1096315155261 ns/iter 700.7827959976137 ns/iter 1.01
JSONPath_Descendant_Filter_Nested 1559.5976458601467 ns/iter 1560.0995635882002 ns/iter 1.00
URITemplateRouter_Create 22308.64326684088 ns/iter 22285.436533399537 ns/iter 1.00
URITemplateRouter_Match 188.57636589159662 ns/iter 188.08250485614715 ns/iter 1.00
URITemplateRouter_Match_BasePath 223.35522009435013 ns/iter 217.4863587186685 ns/iter 1.03
URITemplateRouterView_Restore 10046.61687339323 ns/iter 9823.425342561035 ns/iter 1.02
URITemplateRouterView_Match 144.12356254687305 ns/iter 145.7066169797196 ns/iter 0.99
URITemplateRouterView_Match_BasePath 164.27878410617197 ns/iter 164.23861087503022 ns/iter 1.00
URITemplateRouterView_Arguments 450.19054878242656 ns/iter 463.87332033950435 ns/iter 0.97
JSONL_Parse_Large 8669654.876543103 ns/iter 8835652.962500263 ns/iter 0.98
JSONL_Parse_Large_GZIP 10346783.691176143 ns/iter 10542481.848484853 ns/iter 0.98
JSONLD_Catalog_Annotation_List_Populate 603013.0289608275 ns/iter 594400.359083186 ns/iter 1.01
JSONLD_Catalog_Materialize 3527887.9646466062 ns/iter 3489809.5549999652 ns/iter 1.01
HTML_Build_Table_100000 67913896.99999967 ns/iter 65105562.700000525 ns/iter 1.04
HTML_Render_Table_100000 2086208.73511901 ns/iter 1966260.058171552 ns/iter 1.06
GZIP_Compress_ISO_Language_Set_3_Locations 35809042.0499991 ns/iter 35799119.249998055 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Locations 4292551.251533711 ns/iter 4279685.317073483 ns/iter 1.00
GZIP_Compress_ISO_Language_Set_3_Schema 2137920.5487804837 ns/iter 2134783.259938995 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Schema 277902.8682232001 ns/iter 276652.28830965544 ns/iter 1.00
JOSE_VerifySignature_RS256 64030.976457607794 ns/iter 63844.94955679372 ns/iter 1.00
JOSE_VerifySignature_ES512 2760484.4878050615 ns/iter 2673895.5267177937 ns/iter 1.03

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/gcc)

Details
Benchmark suite Current: 326c24c Previous: 4862283 Ratio
JOSE_VerifySignature_RS256 21995.113043478585 ns/iter 22099.442229038923 ns/iter 1.00
JOSE_VerifySignature_ES512 575285.403119883 ns/iter 575460.1721581494 ns/iter 1.00
GZIP_Compress_ISO_Language_Set_3_Locations 36689422.368421055 ns/iter 36618457.00000149 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Locations 4449307.987341712 ns/iter 4236548.353658208 ns/iter 1.05
GZIP_Compress_ISO_Language_Set_3_Schema 2072338.6064140198 ns/iter 2041111.0555556389 ns/iter 1.02
GZIP_Decompress_ISO_Language_Set_3_Schema 376595.69048899686 ns/iter 376908.23557955696 ns/iter 1.00
HTML_Build_Table_100000 56084593.54545464 ns/iter 54449340.41666254 ns/iter 1.03
HTML_Render_Table_100000 2037573.7125382037 ns/iter 1921770.7134986604 ns/iter 1.06
JSONLD_Catalog_Annotation_List_Populate 689467.5421568652 ns/iter 684012.9664363735 ns/iter 1.01
JSONLD_Catalog_Materialize 3516440.595959556 ns/iter 3521006.718592936 ns/iter 1.00
JSONL_Parse_Large 9946379.402777772 ns/iter 9810630.694444297 ns/iter 1.01
JSONL_Parse_Large_GZIP 11130406.031745967 ns/iter 11198052.492063869 ns/iter 0.99
URITemplateRouter_Create 21585.436281767048 ns/iter 21191.898256346787 ns/iter 1.02
URITemplateRouter_Match 153.96762758007668 ns/iter 153.95619097263295 ns/iter 1.00
URITemplateRouter_Match_BasePath 182.34857577857542 ns/iter 181.61781850850656 ns/iter 1.00
URITemplateRouterView_Restore 8690.62798936013 ns/iter 8512.762728111356 ns/iter 1.02
URITemplateRouterView_Match 125.00530703233518 ns/iter 122.3641703682527 ns/iter 1.02
URITemplateRouterView_Match_BasePath 144.40675413081297 ns/iter 145.1653090362154 ns/iter 0.99
URITemplateRouterView_Arguments 479.8250933133898 ns/iter 467.9211138798205 ns/iter 1.03
JSONPath_Descendant_Filter_Nested 1672.8534092720677 ns/iter 1655.7332785957433 ns/iter 1.01
Pointer_Object_Traverse 24.430659819213997 ns/iter 23.02209593548921 ns/iter 1.06
Pointer_Object_Try_Traverse 25.874669085668625 ns/iter 25.87050575738292 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 129.74273735477217 ns/iter 128.13060175330602 ns/iter 1.01
Pointer_Walker_Schema_ISO_Language 1448067.7867494684 ns/iter 1419153.4717740652 ns/iter 1.02
Pointer_Maybe_Tracked_Deeply_Nested/0 1204739.5587733558 ns/iter 1206189.2178387549 ns/iter 1.00
Pointer_Maybe_Tracked_Deeply_Nested/1 1691836.789855067 ns/iter 1690020.1148327247 ns/iter 1.00
Pointer_Position_Tracker_Get_Deeply_Nested 590.2607309404343 ns/iter 600.847159670732 ns/iter 0.98
JSON_Array_Of_Objects_Unique 463.1314801750304 ns/iter 467.50450539777165 ns/iter 0.99
JSON_Parse_1 5182.972213402252 ns/iter 5311.343709399094 ns/iter 0.98
JSON_Parse_Real 5658.169196150497 ns/iter 5678.090435079588 ns/iter 1.00
JSON_Parse_Decimal 10404.558275266261 ns/iter 10234.352519348577 ns/iter 1.02
JSON_Parse_Schema_ISO_Language 3590404.242268297 ns/iter 3593099.67525792 ns/iter 1.00
JSON_Parse_Integer 3770.7472810026993 ns/iter 3729.4622620179125 ns/iter 1.01
JSON_Parse_String_NonSSO_Plain 3376.647443766754 ns/iter 3260.9180021706156 ns/iter 1.04
JSON_Parse_String_SSO_Plain 3058.1697784661415 ns/iter 3004.280172099552 ns/iter 1.02
JSON_Parse_String_Escape_Heavy 16768.953349225172 ns/iter 16666.20990774151 ns/iter 1.01
JSON_Parse_Object_Short_Keys 8720.070323122965 ns/iter 8400.917713010766 ns/iter 1.04
JSON_Parse_Object_Scalar_Properties 4448.617928322606 ns/iter 4275.0202649893545 ns/iter 1.04
JSON_Parse_Object_Array_Properties 6511.534301982562 ns/iter 6439.293455771055 ns/iter 1.01
JSON_Parse_Object_Object_Properties 6521.602180723145 ns/iter 6474.341242426525 ns/iter 1.01
JSON_Parse_Nested_Containers 39000.528196937754 ns/iter 38373.14916702703 ns/iter 1.02
JSON_From_String_Copy 8.345087689591182 ns/iter 8.97468430054388 ns/iter 0.93
JSON_From_String_Temporary 7.283152858870094 ns/iter 7.703573675578365 ns/iter 0.95
JSON_Number_To_Double 21.838924097991104 ns/iter 21.801131543569937 ns/iter 1.00
JSON_Object_At_Last_Key/8 5.640624411878516 ns/iter 5.615640321174519 ns/iter 1.00
JSON_Object_At_Last_Key/32 21.77183560486474 ns/iter 21.64263307152843 ns/iter 1.01
JSON_Object_At_Last_Key/128 88.2298799037012 ns/iter 87.6150134738144 ns/iter 1.01
JSON_Object_At_Last_Key/512 393.2551719873652 ns/iter 392.1291248029575 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 87.60911873120476 ns/iter 87.56475572203168 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 147.68449053190838 ns/iter 145.38909980218403 ns/iter 1.02
JSON_Divisible_By_Decimal 260.18682624675534 ns/iter 259.87011783300187 ns/iter 1.00
JSON_String_Equal/10 5.410671247407226 ns/iter 5.414547722688221 ns/iter 1.00
JSON_String_Equal/100 6.038288834670858 ns/iter 6.0390372572845035 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7498673167927802 ns/iter 0.7492486484313565 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 25.195853737099473 ns/iter 25.196256164086478 ns/iter 1.00
JSON_String_Fast_Hash/10 3.153753561217418 ns/iter 3.152980262735901 ns/iter 1.00
JSON_String_Fast_Hash/100 3.153049803958244 ns/iter 3.1579300481798374 ns/iter 1.00
JSON_String_Key_Hash/10 1.2471180603757057 ns/iter 1.24694636451164 ns/iter 1.00
JSON_String_Key_Hash/100 12.448048197190605 ns/iter 12.455847495604337 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.1153624328995293 ns/iter 3.113684479686079 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.4711540152434885 ns/iter 3.4263443799816358 ns/iter 1.01
JSON_Object_Defines_Miss_Too_Large 3.1167449829458675 ns/iter 3.113854829966351 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 0.6233500090109437 ns/iter 0.6227159047036209 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.6226910084536943 ns/iter 0.6229581370673304 ns/iter 1.00
Regex_Period_Asterisk 0.622743820838279 ns/iter 0.6228512758149513 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 0.6234377524123301 ns/iter 0.6249869198180169 ns/iter 1.00
Regex_Period_Plus 0.6274661649023126 ns/iter 0.6232955892797827 ns/iter 1.01
Regex_Period 0.6232358119833962 ns/iter 0.6226251640162995 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 0.6227171228365049 ns/iter 0.6264370608250828 ns/iter 0.99
Regex_Caret_Group_Period_Plus_Group_Dollar 0.6232160182303975 ns/iter 0.6233321220456005 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 0.6229229186053723 ns/iter 0.6229643272987134 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.6225312030132781 ns/iter 0.638360068842934 ns/iter 0.98
Regex_Caret_X_Hyphen 4.053859230121848 ns/iter 4.0601598605848235 ns/iter 1.00
Regex_Period_Md_Dollar 31.300083805260552 ns/iter 28.285482594737097 ns/iter 1.11
Regex_Caret_Slash_Period_Asterisk 4.36213273906319 ns/iter 4.36444748787389 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 1.2467081834968257 ns/iter 1.2462099888235312 ns/iter 1.00
Regex_Nested_Backtrack 38.74526464561732 ns/iter 37.45932659600389 ns/iter 1.03

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (windows/msvc)

Details
Benchmark suite Current: 326c24c Previous: 4862283 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 5.278132142856455 ns/iter 4.962778805720158 ns/iter 1.06
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 5.304357142856629 ns/iter 4.981525999999121 ns/iter 1.06
Regex_Period_Asterisk 5.590633035714023 ns/iter 4.958257000000685 ns/iter 1.13
Regex_Group_Period_Asterisk_Group 5.347739000000047 ns/iter 4.964924999999312 ns/iter 1.08
Regex_Period_Plus 4.7197250000000475 ns/iter 4.6065267959959035 ns/iter 1.02
Regex_Period 4.93037500000014 ns/iter 4.659093090756834 ns/iter 1.06
Regex_Caret_Period_Plus_Dollar 4.626571885327369 ns/iter 4.61612612637498 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 4.6133169745828555 ns/iter 5.067390413095813 ns/iter 0.91
Regex_Caret_Period_Asterisk_Dollar 4.998277000000826 ns/iter 5.3396705357146494 ns/iter 0.94
Regex_Caret_Group_Period_Asterisk_Group_Dollar 5.026637999999366 ns/iter 5.037658000001102 ns/iter 1.00
Regex_Caret_X_Hyphen 7.821735491070823 ns/iter 7.964158482143903 ns/iter 0.98
Regex_Period_Md_Dollar 59.41406250000472 ns/iter 54.74466964285186 ns/iter 1.09
Regex_Caret_Slash_Period_Asterisk 7.455814732143042 ns/iter 7.546956250000188 ns/iter 0.99
Regex_Caret_Period_Range_Dollar 5.329031999999643 ns/iter 5.44316199999912 ns/iter 0.98
Regex_Nested_Backtrack 83.44026785714728 ns/iter 83.36419642857504 ns/iter 1.00
JSON_Array_Of_Objects_Unique 673.3943080356701 ns/iter 808.9848214284855 ns/iter 0.83
JSON_Parse_1 9320.406605326829 ns/iter 9228.263392857221 ns/iter 1.01
JSON_Parse_Real 17961.51938517454 ns/iter 17878.252756153895 ns/iter 1.00
JSON_Parse_Decimal 11243.876562499367 ns/iter 11369.851562502476 ns/iter 0.99
JSON_Parse_Schema_ISO_Language 7939108.8888883125 ns/iter 8689101.333332777 ns/iter 0.91
JSON_Parse_Integer 6002.564285713521 ns/iter 5919.228571428903 ns/iter 1.01
JSON_Parse_String_NonSSO_Plain 8192.581729546646 ns/iter 8027.844964977668 ns/iter 1.02
JSON_Parse_String_SSO_Plain 3907.182308603491 ns/iter 3752.086871274249 ns/iter 1.04
JSON_Parse_String_Escape_Heavy 22356.987500000258 ns/iter 21958.690624998668 ns/iter 1.02
JSON_Parse_Object_Short_Keys 13044.162499998687 ns/iter 12859.348214285708 ns/iter 1.01
JSON_Parse_Object_Scalar_Properties 6712.503999999626 ns/iter 6581.706250001064 ns/iter 1.02
JSON_Parse_Object_Array_Properties 11541.312500000346 ns/iter 11479.132812500127 ns/iter 1.01
JSON_Parse_Object_Object_Properties 13012.45892857139 ns/iter 11806.45624999954 ns/iter 1.10
JSON_Parse_Nested_Containers 85909.17410714128 ns/iter 83288.57640282536 ns/iter 1.03
JSON_From_String_Copy 63.29509821428912 ns/iter 63.38810714284802 ns/iter 1.00
JSON_From_String_Temporary 81.7980691964339 ns/iter 86.18311222395813 ns/iter 0.95
JSON_Number_To_Double 162.12305972665058 ns/iter 145.1945225359578 ns/iter 1.12
JSON_Object_At_Last_Key/8 7.758225446429075 ns/iter 7.2648247767860745 ns/iter 1.07
JSON_Object_At_Last_Key/32 32.38771338652364 ns/iter 25.332957142861037 ns/iter 1.28
JSON_Object_At_Last_Key/128 104.19632142856017 ns/iter 106.99721843762339 ns/iter 0.97
JSON_Object_At_Last_Key/512 430.73456249999253 ns/iter 432.91192032110723 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 116.55818750000437 ns/iter 146.4202903383719 ns/iter 0.80
JSON_Equality_Helm_Chart_Lock 205.3511827968098 ns/iter 206.28509346941385 ns/iter 1.00
JSON_Divisible_By_Decimal 357.49368783455606 ns/iter 331.30008928574335 ns/iter 1.08
JSON_String_Equal/10 9.930578527094932 ns/iter 9.92884683067679 ns/iter 1.00
JSON_String_Equal/100 11.353796428571577 ns/iter 11.350607812499192 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 2.164081560084536 ns/iter 2.153724216345821 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.010995026736028 ns/iter 18.245654627194114 ns/iter 0.77
JSON_String_Fast_Hash/10 6.416319642857461 ns/iter 6.538783035714298 ns/iter 0.98
JSON_String_Fast_Hash/100 6.468807142857105 ns/iter 6.387115178571078 ns/iter 1.01
JSON_String_Key_Hash/10 5.04403600000046 ns/iter 4.961329000000205 ns/iter 1.02
JSON_String_Key_Hash/100 11.242550000000406 ns/iter 10.979779687499303 ns/iter 1.02
JSON_Object_Defines_Miss_Same_Length 4.892755999999281 ns/iter 4.6501901889520285 ns/iter 1.05
JSON_Object_Defines_Miss_Too_Small 4.623302634960171 ns/iter 4.606804028140051 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 4.635042197846435 ns/iter 4.615815412773356 ns/iter 1.00
Pointer_Object_Traverse 68.01634821428593 ns/iter 66.23280357142595 ns/iter 1.03
Pointer_Object_Try_Traverse 67.79188392856993 ns/iter 67.80527678569926 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 164.72772321429423 ns/iter 178.0611587554659 ns/iter 0.93
Pointer_Walker_Schema_ISO_Language 11844444.642857103 ns/iter 12148617.857142035 ns/iter 0.97
Pointer_Maybe_Tracked_Deeply_Nested/0 2416571.485943758 ns/iter 2472146.586344945 ns/iter 0.98
Pointer_Maybe_Tracked_Deeply_Nested/1 3631947.5935830693 ns/iter 3655637.4331550305 ns/iter 0.99
Pointer_Position_Tracker_Get_Deeply_Nested 575.6484308031087 ns/iter 549.3160648894511 ns/iter 1.05
JSONPath_Descendant_Filter_Nested 2511.0671751482046 ns/iter 2512.1621428565636 ns/iter 1.00
URITemplateRouter_Create 38851.729910716065 ns/iter 39661.88058035819 ns/iter 0.98
URITemplateRouter_Match 217.42912499998823 ns/iter 214.985906250007 ns/iter 1.01
URITemplateRouter_Match_BasePath 247.24505121629178 ns/iter 245.79932142858394 ns/iter 1.01
URITemplateRouterView_Restore 25772.85357142906 ns/iter 25908.30645467495 ns/iter 0.99
URITemplateRouterView_Match 174.8695652814595 ns/iter 173.1238553431389 ns/iter 1.01
URITemplateRouterView_Match_BasePath 201.15122539503975 ns/iter 207.74065813655312 ns/iter 0.97
URITemplateRouterView_Arguments 597.6662499999666 ns/iter 647.6636607142642 ns/iter 0.92
JSONL_Parse_Large 34146418.181819625 ns/iter 34297279.999998406 ns/iter 1.00
JSONL_Parse_Large_GZIP 34237404.99999894 ns/iter 34433615.00000037 ns/iter 0.99
JSONLD_Catalog_Annotation_List_Populate 3252215.49295739 ns/iter 3371050.2347416817 ns/iter 0.96
JSONLD_Catalog_Materialize 10094151.99999997 ns/iter 11485968.749997966 ns/iter 0.88
HTML_Build_Table_100000 94452342.85715286 ns/iter 94907371.4285922 ns/iter 1.00
HTML_Render_Table_100000 8043267.777777095 ns/iter 8227935.555555632 ns/iter 0.98
GZIP_Compress_ISO_Language_Set_3_Locations 38536873.68421345 ns/iter 39965883.33334077 ns/iter 0.96
GZIP_Decompress_ISO_Language_Set_3_Locations 10573885.937500194 ns/iter 10648642.187497614 ns/iter 0.99
GZIP_Compress_ISO_Language_Set_3_Schema 2352724.7491636346 ns/iter 2345826.421404668 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Schema 587888.392857191 ns/iter 578535.9821428773 ns/iter 1.02
JOSE_VerifySignature_RS256 23878.984374999134 ns/iter 23856.359862053978 ns/iter 1.00
JOSE_VerifySignature_ES512 1555684.375000104 ns/iter 1527552.455357295 ns/iter 1.02

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (macos/llvm)

Details
Benchmark suite Current: 326c24c Previous: 4862283 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.1320077690062864 ns/iter 2.2952480797754307 ns/iter 0.93
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.0960191366183145 ns/iter 2.302107904019212 ns/iter 0.91
Regex_Period_Asterisk 1.891629326731352 ns/iter 2.398235211960338 ns/iter 0.79
Regex_Group_Period_Asterisk_Group 1.9662285337931116 ns/iter 2.6265655184053283 ns/iter 0.75
Regex_Period_Plus 2.1880205219849973 ns/iter 2.794648138869703 ns/iter 0.78
Regex_Period 2.1854746242835734 ns/iter 2.6794485396327743 ns/iter 0.82
Regex_Caret_Period_Plus_Dollar 2.1827679646661053 ns/iter 2.7262272654214548 ns/iter 0.80
Regex_Caret_Group_Period_Plus_Group_Dollar 2.284734601225098 ns/iter 2.7655353474191435 ns/iter 0.83
Regex_Caret_Period_Asterisk_Dollar 1.8604158320334423 ns/iter 2.3690274031084533 ns/iter 0.79
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.817850983240773 ns/iter 2.2553667359975567 ns/iter 0.81
Regex_Caret_X_Hyphen 6.515973213615008 ns/iter 8.011588286192577 ns/iter 0.81
Regex_Period_Md_Dollar 18.93546187995505 ns/iter 29.228995534946993 ns/iter 0.65
Regex_Caret_Slash_Period_Asterisk 5.7402207289150775 ns/iter 6.22932917000071 ns/iter 0.92
Regex_Caret_Period_Range_Dollar 2.254637049930157 ns/iter 3.366320853950749 ns/iter 0.67
Regex_Nested_Backtrack 29.185271267316725 ns/iter 43.92164395172207 ns/iter 0.66
JSON_Array_Of_Objects_Unique 389.0965165799564 ns/iter 524.1929319075219 ns/iter 0.74
JSON_Parse_1 3464.0617694106186 ns/iter 5199.5794787175 ns/iter 0.67
JSON_Parse_Real 5260.7258400007595 ns/iter 9082.670172212736 ns/iter 0.58
JSON_Parse_Decimal 5991.428090137701 ns/iter 8397.965477853792 ns/iter 0.71
JSON_Parse_Schema_ISO_Language 2359232.7302626055 ns/iter 3911085.9004741837 ns/iter 0.60
JSON_Parse_Integer 3101.6698907749583 ns/iter 5195.797651317551 ns/iter 0.60
JSON_Parse_String_NonSSO_Plain 3461.9229344779774 ns/iter 5352.535790458488 ns/iter 0.65
JSON_Parse_String_SSO_Plain 2173.613747786991 ns/iter 3021.5753970853966 ns/iter 0.72
JSON_Parse_String_Escape_Heavy 26480.4557551574 ns/iter 28456.411010181982 ns/iter 0.93
JSON_Parse_Object_Short_Keys 7201.700731309062 ns/iter 10154.369261308932 ns/iter 0.71
JSON_Parse_Object_Scalar_Properties 3794.4206516396775 ns/iter 5049.967717913609 ns/iter 0.75
JSON_Parse_Object_Array_Properties 4544.054413594946 ns/iter 6237.153261050917 ns/iter 0.73
JSON_Parse_Object_Object_Properties 4600.334534323494 ns/iter 5479.429170000004 ns/iter 0.84
JSON_Parse_Nested_Containers 28731.13682076496 ns/iter 41674.78679721863 ns/iter 0.69
JSON_From_String_Copy 11.17963524701285 ns/iter 16.173432497528964 ns/iter 0.69
JSON_From_String_Temporary 6.248238126067622 ns/iter 9.394310415454727 ns/iter 0.67
JSON_Number_To_Double 36.839026051339474 ns/iter 55.3688772490431 ns/iter 0.67
JSON_Object_At_Last_Key/8 4.397304098361461 ns/iter 5.29575192607324 ns/iter 0.83
JSON_Object_At_Last_Key/32 13.3368407093843 ns/iter 16.409085835609158 ns/iter 0.81
JSON_Object_At_Last_Key/128 61.116383318790966 ns/iter 68.58244661416359 ns/iter 0.89
JSON_Object_At_Last_Key/512 222.78049234661447 ns/iter 235.62441611588272 ns/iter 0.95
JSON_Fast_Hash_Helm_Chart_Lock 61.70351106203455 ns/iter 73.5466193903888 ns/iter 0.84
JSON_Equality_Helm_Chart_Lock 170.22033431371273 ns/iter 238.38170766613416 ns/iter 0.71
JSON_Divisible_By_Decimal 182.30230513082307 ns/iter 277.34256283319047 ns/iter 0.66
JSON_String_Equal/10 7.008437006662659 ns/iter 8.821893341806842 ns/iter 0.79
JSON_String_Equal/100 6.472961595647932 ns/iter 9.581407678627686 ns/iter 0.68
JSON_String_Equal_Small_By_Perfect_Hash/10 0.3401673483471668 ns/iter 0.4550075444038583 ns/iter 0.75
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.3574188549306476 ns/iter 5.557027326053669 ns/iter 0.60
JSON_String_Fast_Hash/10 2.5778943054506476 ns/iter 4.771532543471928 ns/iter 0.54
JSON_String_Fast_Hash/100 2.038066187859046 ns/iter 4.1762499022807065 ns/iter 0.49
JSON_String_Key_Hash/10 1.7095401046742564 ns/iter 2.980662021901412 ns/iter 0.57
JSON_String_Key_Hash/100 2.227195586082619 ns/iter 2.9909062857761137 ns/iter 0.74
JSON_Object_Defines_Miss_Same_Length 2.7824767438510505 ns/iter 3.6879249612105958 ns/iter 0.75
JSON_Object_Defines_Miss_Too_Small 2.8389790012288496 ns/iter 3.4186815261290224 ns/iter 0.83
JSON_Object_Defines_Miss_Too_Large 2.9026801247076977 ns/iter 3.954482436308789 ns/iter 0.73
Pointer_Object_Traverse 24.84233635976853 ns/iter 28.38941366918518 ns/iter 0.88
Pointer_Object_Try_Traverse 34.25359989372648 ns/iter 58.040111103418134 ns/iter 0.59
Pointer_Push_Back_Pointer_To_Weak_Pointer 143.1156145968124 ns/iter 212.32458911502565 ns/iter 0.67
Pointer_Walker_Schema_ISO_Language 1307021.210145056 ns/iter 2102138.443262499 ns/iter 0.62
Pointer_Maybe_Tracked_Deeply_Nested/0 888445.5492424229 ns/iter 1259877.6818180114 ns/iter 0.71
Pointer_Maybe_Tracked_Deeply_Nested/1 1082771.9361372702 ns/iter 1449633.1900645248 ns/iter 0.75
Pointer_Position_Tracker_Get_Deeply_Nested 351.0991131073943 ns/iter 507.0978300767006 ns/iter 0.69
JSONPath_Descendant_Filter_Nested 1293.7946161829448 ns/iter 1890.2405368975053 ns/iter 0.68
URITemplateRouter_Create 20773.57927763178 ns/iter 24071.341293653702 ns/iter 0.86
URITemplateRouter_Match 165.92947280855347 ns/iter 249.15003184594514 ns/iter 0.67
URITemplateRouter_Match_BasePath 214.58009409974238 ns/iter 278.0979562651407 ns/iter 0.77
URITemplateRouterView_Restore 12377.319993696288 ns/iter 22695.00166880898 ns/iter 0.55
URITemplateRouterView_Match 139.12768012199956 ns/iter 214.2724107344446 ns/iter 0.65
URITemplateRouterView_Match_BasePath 165.76200592321416 ns/iter 247.32123904847091 ns/iter 0.67
URITemplateRouterView_Arguments 545.4754913880134 ns/iter 722.3893595215224 ns/iter 0.76
JSONL_Parse_Large 5987584.401709761 ns/iter 8965504.999999516 ns/iter 0.67
JSONL_Parse_Large_GZIP 6917886.960394807 ns/iter 11706161.277781272 ns/iter 0.59
JSONLD_Catalog_Annotation_List_Populate 485113.5081522312 ns/iter 1012546.230859849 ns/iter 0.48
JSONLD_Catalog_Materialize 2316830.348909462 ns/iter 3114662.195121571 ns/iter 0.74
HTML_Build_Table_100000 39334976.83332613 ns/iter 58476816.69999929 ns/iter 0.67
HTML_Render_Table_100000 1831694.3358974105 ns/iter 3266874.301254887 ns/iter 0.56
GZIP_Compress_ISO_Language_Set_3_Locations 28923631.916664287 ns/iter 42672403.84615434 ns/iter 0.68
GZIP_Decompress_ISO_Language_Set_3_Locations 3971274.0384617303 ns/iter 5864968.309860045 ns/iter 0.68
GZIP_Compress_ISO_Language_Set_3_Schema 1755825.9751245913 ns/iter 2640949.2187502435 ns/iter 0.66
GZIP_Decompress_ISO_Language_Set_3_Schema 317407.79582927004 ns/iter 376826.9808641957 ns/iter 0.84
JOSE_VerifySignature_RS256 24585.678181573254 ns/iter 40523.90228376327 ns/iter 0.61
JOSE_VerifySignature_ES512 1062850.0235638304 ns/iter 1707489.5421456993 ns/iter 0.62

This comment was automatically generated by workflow using github-action-benchmark.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant