Skip to content

Use JSON grammar constants as much as possible in the parser#2245

Merged
jviotti merged 1 commit intomainfrom
json-more-grammar
Feb 12, 2026
Merged

Use JSON grammar constants as much as possible in the parser#2245
jviotti merged 1 commit intomainfrom
json-more-grammar

Conversation

@jviotti
Copy link
Member

@jviotti jviotti commented Feb 12, 2026

Signed-off-by: Juan Cruz Viotti jv@jviotti.com

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@augmentcode
Copy link

augmentcode bot commented Feb 12, 2026

🤖 Augment PR Summary

Summary: This PR reduces hard-coded JSON token characters in the core parser by reusing the shared JSON grammar constants.

Changes:

  • Added single-character grammar tokens for JSON literals: true, false, and null (prefix tokens) in src/core/json/grammar.h.
  • Updated string scanning to compare against grammar tokens for quote and escape characters.
  • Updated digit/number scanning to use grammar tokens for digits, sign, decimal point, exponent markers, and exponent sign.
  • Updated the main JSON scanner state machine to branch on grammar tokens for literals, strings, arrays/objects, delimiters, and numeric starters.

Technical Notes: Centralizing token definitions in grammar.h helps keep the parser aligned with the ECMA-404 grammar and avoids scattering character literals throughout the parsing logic.

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

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.

Copy link

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

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

Copy link

@github-actions github-actions bot left a comment

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: 200b3dd Previous: 65f8293 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.1247305677673243 ns/iter 2.043989289218663 ns/iter 1.53
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1087512357241702 ns/iter 2.01784045903022 ns/iter 1.54
Regex_Period_Asterisk 3.107854223041649 ns/iter 2.0178967419876885 ns/iter 1.54
Regex_Group_Period_Asterisk_Group 3.1073656768225018 ns/iter 2.016001506539652 ns/iter 1.54
Regex_Period_Plus 3.1089328163030285 ns/iter 2.30445148978931 ns/iter 1.35
Regex_Period 3.1101535489499943 ns/iter 2.3040301806102184 ns/iter 1.35
Regex_Caret_Period_Plus_Dollar 3.1100100080653315 ns/iter 2.316568235589235 ns/iter 1.34
Regex_Caret_Group_Period_Plus_Group_Dollar 3.110408798943853 ns/iter 2.335943122720973 ns/iter 1.33
Regex_Caret_Period_Asterisk_Dollar 3.107697672233261 ns/iter 2.0168968608311575 ns/iter 1.54
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.1078758934661765 ns/iter 2.0178427869189437 ns/iter 1.54
Regex_Caret_X_Hyphen 6.5297882682296855 ns/iter 8.926883246711178 ns/iter 0.73
Regex_Period_Md_Dollar 27.353275328443075 ns/iter 25.197036209782357 ns/iter 1.09
Regex_Caret_Slash_Period_Asterisk 6.216308174100983 ns/iter 8.638979817494123 ns/iter 0.72
Regex_Caret_Period_Range_Dollar 4.040852362297369 ns/iter 2.360832028266566 ns/iter 1.71
Regex_Nested_Backtrack 48.606252612730245 ns/iter 43.749384458775616 ns/iter 1.11
JSON_Array_Of_Objects_Unique 445.79031576135503 ns/iter 351.50920326541535 ns/iter 1.27
JSON_Parse_1 8225.743855982348 ns/iter 7000.5858928901025 ns/iter 1.18
JSON_Parse_Real 11723.848075826816 ns/iter 10947.380595040338 ns/iter 1.07
JSON_Parse_Decimal 80669.9923875428 ns/iter 77070.08956361399 ns/iter 1.05
JSON_Parse_Schema_ISO_Language 7432162.204301227 ns/iter 6162306.09649081 ns/iter 1.21
JSON_Fast_Hash_Helm_Chart_Lock 61.56649740428695 ns/iter 46.46142396101603 ns/iter 1.33
JSON_Equality_Helm_Chart_Lock 162.912858814139 ns/iter 140.47120187142943 ns/iter 1.16
JSON_String_Equal/10 7.465543537860407 ns/iter 4.6101084801424514 ns/iter 1.62
JSON_String_Equal/100 7.156339396748744 ns/iter 5.763299268876952 ns/iter 1.24
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9351627195572348 ns/iter 0.6913734980947965 ns/iter 1.35
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.60610415335515 ns/iter 9.227915205321073 ns/iter 1.58
JSON_String_Fast_Hash/10 2.845949972723927 ns/iter 2.3049049210423265 ns/iter 1.23
JSON_String_Fast_Hash/100 2.804346144207879 ns/iter 2.305183373169582 ns/iter 1.22
JSON_String_Key_Hash/10 2.6471812276471276 ns/iter 1.733465164100332 ns/iter 1.53
JSON_String_Key_Hash/100 9.015440459019418 ns/iter 6.624714724588811 ns/iter 1.36
JSON_Object_Defines_Miss_Same_Length 3.734739296331827 ns/iter 3.40046308933041 ns/iter 1.10
JSON_Object_Defines_Miss_Too_Small 3.7366011739657705 ns/iter 3.3995672518361846 ns/iter 1.10
JSON_Object_Defines_Miss_Too_Large 3.7385246702503845 ns/iter 3.401023830620275 ns/iter 1.10
Pointer_Object_Traverse 43.78189823342652 ns/iter 39.032720631238 ns/iter 1.12
Pointer_Object_Try_Traverse 53.493145019472315 ns/iter 45.807216634625306 ns/iter 1.17
Pointer_Push_Back_Pointer_To_Weak_Pointer 304.48606360966386 ns/iter 267.1573589414216 ns/iter 1.14
Pointer_Walker_Schema_ISO_Language 3193686.4155251742 ns/iter 3213769.615023788 ns/iter 0.99
Schema_Frame_WoT_References 4808009.945205188 ns/iter 4285405.453987706 ns/iter 1.12
Schema_Frame_OMC_References 21109221.771426488 ns/iter 18594251.138886698 ns/iter 1.14
Schema_Frame_OMC_Locations 18960310.44444473 ns/iter 17106153.829267785 ns/iter 1.11
Schema_Frame_ISO_Language_Locations 104466922.99999918 ns/iter 96505941.28571096 ns/iter 1.08
Schema_Frame_KrakenD_References 40613041.64705394 ns/iter 37180903.263160154 ns/iter 1.09
Schema_Frame_KrakenD_Reachable 618200436.9999276 ns/iter 756325834.0001085 ns/iter 0.82
Schema_Iterator_ISO_Language 2396223.2684560595 ns/iter 2184145.881620195 ns/iter 1.10
Schema_Frame_ISO_Language_Locations_To_JSON 131769714.74999277 ns/iter 132367892.60001843 ns/iter 1.00
Schema_Tracker_ISO_Language 32506501.28571427 ns/iter 29999957.565218724 ns/iter 1.08
Schema_Tracker_ISO_Language_To_JSON 26096747.28571219 ns/iter 26025699.24999898 ns/iter 1.00
Schema_Format_ISO_Language_To_JSON 112715425.49998988 ns/iter 100398916.85713494 ns/iter 1.12
Schema_Bundle_Meta_2020_12 1685029.503614057 ns/iter 1570171.8013385602 ns/iter 1.07
Schema_Frame_Many_Resources_References 372340208.50002027 ns/iter 351931845.9999567 ns/iter 1.06
Alterschema_Check_Readibility_ISO_Language_Set_3 220347094.66667363 ns/iter 188480826.4999833 ns/iter 1.17
Alterschema_Check_Readibility_OMC 32631644.619046018 ns/iter 30242820.869563293 ns/iter 1.08
Alterschema_Apply_Readibility_KrakenD 614254401.000153 ns/iter 525636638.00003725 ns/iter 1.17
EditorSchema_ForEditor_EmbeddedResources 13179255.754715018 ns/iter 12025458.655161543 ns/iter 1.10
URITemplateRouter_Create 16546.723759190776 ns/iter 13375.631017269607 ns/iter 1.24
URITemplateRouter_Match 170.933470641412 ns/iter 149.92490304874107 ns/iter 1.14
URITemplateRouterView_Restore 8408.738441878057 ns/iter 3569.1483253093224 ns/iter 2.36
URITemplateRouterView_Match 122.1474854413682 ns/iter 116.12526505849934 ns/iter 1.05

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

Copy link

@github-actions github-actions bot left a comment

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: 200b3dd Previous: 65f8293 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.711951515973483 ns/iter 2.583427336087342 ns/iter 0.66
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.6955813059694318 ns/iter 2.1410083189681566 ns/iter 0.79
Regex_Period_Asterisk 1.6859095750517599 ns/iter 2.07607776023997 ns/iter 0.81
Regex_Group_Period_Asterisk_Group 1.6622819713524786 ns/iter 2.01302198987716 ns/iter 0.83
Regex_Period_Plus 2.146491010339244 ns/iter 2.468022013227996 ns/iter 0.87
Regex_Period 2.2366671725477745 ns/iter 2.503456286260437 ns/iter 0.89
Regex_Caret_Period_Plus_Dollar 2.0792188537352585 ns/iter 2.6777335414653933 ns/iter 0.78
Regex_Caret_Group_Period_Plus_Group_Dollar 2.1236592127304217 ns/iter 2.4261660667944955 ns/iter 0.88
Regex_Caret_Period_Asterisk_Dollar 1.7895152137867594 ns/iter 2.0729687089550795 ns/iter 0.86
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.759777499144652 ns/iter 2.2236584555048045 ns/iter 0.79
Regex_Caret_X_Hyphen 6.936339227839925 ns/iter 7.686673255653975 ns/iter 0.90
Regex_Period_Md_Dollar 21.86616862942551 ns/iter 28.17539059079114 ns/iter 0.78
Regex_Caret_Slash_Period_Asterisk 6.008108339031309 ns/iter 7.7022956475462445 ns/iter 0.78
Regex_Caret_Period_Range_Dollar 1.907199651923931 ns/iter 2.698226421842338 ns/iter 0.71
Regex_Nested_Backtrack 30.730696561585017 ns/iter 45.01702694264712 ns/iter 0.68
JSON_Array_Of_Objects_Unique 359.04563618658074 ns/iter 540.5150781427737 ns/iter 0.66
JSON_Parse_1 5677.325839791625 ns/iter 8860.3668812543 ns/iter 0.64
JSON_Parse_Real 7040.6387526103335 ns/iter 9330.908375352288 ns/iter 0.75
JSON_Parse_Decimal 222878.70418929972 ns/iter 320834.05072122987 ns/iter 0.69
JSON_Parse_Schema_ISO_Language 5256801.663999795 ns/iter 6519341.500000908 ns/iter 0.81
JSON_Fast_Hash_Helm_Chart_Lock 59.16878276803474 ns/iter 69.21253439136365 ns/iter 0.85
JSON_Equality_Helm_Chart_Lock 138.8276870365611 ns/iter 169.5531289565051 ns/iter 0.82
JSON_String_Equal/10 6.889374109386823 ns/iter 9.148728212986228 ns/iter 0.75
JSON_String_Equal/100 6.742281083914874 ns/iter 9.298586830487093 ns/iter 0.73
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7802671179678055 ns/iter 1.0757906806056077 ns/iter 0.73
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.8563098975418737 ns/iter 4.367304721018063 ns/iter 0.88
JSON_String_Fast_Hash/10 2.8552818899168333 ns/iter 2.969144403966491 ns/iter 0.96
JSON_String_Fast_Hash/100 2.1880797483091485 ns/iter 2.5346549489913954 ns/iter 0.86
JSON_String_Key_Hash/10 1.5222575947901325 ns/iter 1.9520418888578384 ns/iter 0.78
JSON_String_Key_Hash/100 2.5468209088489733 ns/iter 3.10646637815918 ns/iter 0.82
JSON_Object_Defines_Miss_Same_Length 2.4835588595313776 ns/iter 3.1417237362505133 ns/iter 0.79
JSON_Object_Defines_Miss_Too_Small 2.545869885385783 ns/iter 3.2324219804390633 ns/iter 0.79
JSON_Object_Defines_Miss_Too_Large 2.4609822037807945 ns/iter 3.4947087790038447 ns/iter 0.70
Pointer_Object_Traverse 16.539740213380334 ns/iter 20.65255953309924 ns/iter 0.80
Pointer_Object_Try_Traverse 21.0577210388125 ns/iter 29.26113377830434 ns/iter 0.72
Pointer_Push_Back_Pointer_To_Weak_Pointer 158.8238494611646 ns/iter 211.71220023949093 ns/iter 0.75
Pointer_Walker_Schema_ISO_Language 4668285.7142859455 ns/iter 6352677.083332499 ns/iter 0.73
Schema_Frame_WoT_References 5023392.199999792 ns/iter 6508209.033612531 ns/iter 0.77
Schema_Frame_OMC_References 24273880.56666662 ns/iter 32386662.055551417 ns/iter 0.75
Schema_Frame_OMC_Locations 24769434.733332217 ns/iter 30433853.26087327 ns/iter 0.81
Schema_Frame_ISO_Language_Locations 77639781.24999937 ns/iter 100584117.99999098 ns/iter 0.77
Schema_Frame_KrakenD_References 47310369.466670945 ns/iter 63582863.63636332 ns/iter 0.74
Schema_Frame_KrakenD_Reachable 422288353.49999374 ns/iter 577575000.0002518 ns/iter 0.73
Schema_Iterator_ISO_Language 2225232.531055915 ns/iter 2957794.7841406837 ns/iter 0.75
Schema_Frame_ISO_Language_Locations_To_JSON 91402562.50001736 ns/iter 134963521.0000315 ns/iter 0.68
Schema_Tracker_ISO_Language 34199824.99999605 ns/iter 49385755.599996634 ns/iter 0.69
Schema_Tracker_ISO_Language_To_JSON 15927715.733333673 ns/iter 22628204.861108415 ns/iter 0.70
Schema_Format_ISO_Language_To_JSON 86560531.37499952 ns/iter 112341409.50000437 ns/iter 0.77
Schema_Bundle_Meta_2020_12 1332210.6698288291 ns/iter 1780316.84906317 ns/iter 0.75
Schema_Frame_Many_Resources_References 314530750.00001717 ns/iter 453530541.4999584 ns/iter 0.69
Alterschema_Check_Readibility_ISO_Language_Set_3 166434260.4999831 ns/iter 219061555.33338276 ns/iter 0.76
Alterschema_Check_Readibility_OMC 36286289.47368677 ns/iter 47520783.87500092 ns/iter 0.76
Alterschema_Apply_Readibility_KrakenD 554802999.9999926 ns/iter 691661000.0000674 ns/iter 0.80
EditorSchema_ForEditor_EmbeddedResources 10156554.924247812 ns/iter 14956871.244460974 ns/iter 0.68
URITemplateRouter_Create 16074.081403592407 ns/iter 23415.046339136865 ns/iter 0.69
URITemplateRouter_Match 164.12769703884342 ns/iter 229.82455051792607 ns/iter 0.71
URITemplateRouterView_Restore 10044.014793196888 ns/iter 16658.49981760077 ns/iter 0.60
URITemplateRouterView_Match 116.35921733328941 ns/iter 174.5121724348711 ns/iter 0.67

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

Copy link

@github-actions github-actions bot left a comment

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: 200b3dd Previous: 65f8293 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 4.443506864089475 ns/iter 4.435220502501006 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.107583310905926 ns/iter 4.100751560669452 ns/iter 1.00
Regex_Period_Asterisk 3.778364457538461 ns/iter 3.7745341004029798 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.7836642789582573 ns/iter 3.775526778972017 ns/iter 1.00
Regex_Period_Plus 3.7787566003953756 ns/iter 3.7742078504042027 ns/iter 1.00
Regex_Period 3.780346064677223 ns/iter 3.7714430289785965 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.7744633861173265 ns/iter 3.768996421842083 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 3.775789814686205 ns/iter 3.7798628503927385 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 3.7783842789681046 ns/iter 3.783709814672042 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.9003515624992855 ns/iter 3.7786676718242087 ns/iter 1.03
Regex_Caret_X_Hyphen 7.563651785714245 ns/iter 7.549484375002992 ns/iter 1.00
Regex_Period_Md_Dollar 35.458856804043755 ns/iter 37.418431474658775 ns/iter 0.95
Regex_Caret_Slash_Period_Asterisk 7.232280133927357 ns/iter 7.236099107144258 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.723834162330902 ns/iter 4.713168760518694 ns/iter 1.00
Regex_Nested_Backtrack 107.58034375001557 ns/iter 107.03618750000031 ns/iter 1.01
JSON_Array_Of_Objects_Unique 451.7902963954774 ns/iter 457.03664097212203 ns/iter 0.99
JSON_Parse_1 11179.7984374995 ns/iter 11143.01364726416 ns/iter 1.00
JSON_Parse_Real 16329.66091291094 ns/iter 16449.475446427594 ns/iter 0.99
JSON_Parse_Decimal 203083.89437028242 ns/iter 203511.04787421765 ns/iter 1.00
JSON_Parse_Schema_ISO_Language 8353015.555553611 ns/iter 8566143.99999671 ns/iter 0.98
JSON_Fast_Hash_Helm_Chart_Lock 62.755062499998566 ns/iter 61.218901785723894 ns/iter 1.03
JSON_Equality_Helm_Chart_Lock 284.3526756407734 ns/iter 255.74922570314118 ns/iter 1.11
JSON_String_Equal/10 12.351942857143124 ns/iter 12.278504687500913 ns/iter 1.01
JSON_String_Equal/100 13.883351723733306 ns/iter 13.85573498278432 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 2.199791562500053 ns/iter 2.2363841492898775 ns/iter 0.98
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.56729642857327 ns/iter 12.57677500000552 ns/iter 1.00
JSON_String_Fast_Hash/10 3.454503342044974 ns/iter 3.454117850976603 ns/iter 1.00
JSON_String_Fast_Hash/100 3.4774078955754 ns/iter 3.477947092004215 ns/iter 1.00
JSON_String_Key_Hash/10 4.4122749999999655 ns/iter 4.411281250000343 ns/iter 1.00
JSON_String_Key_Hash/100 16.703814173856934 ns/iter 16.719467075538784 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.783879464285584 ns/iter 3.77631481468516 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.9306942786955132 ns/iter 3.7847314218134795 ns/iter 1.04
JSON_Object_Defines_Miss_Too_Large 3.7807585646772717 ns/iter 3.767648028985941 ns/iter 1.00
Pointer_Object_Traverse 54.245250000012184 ns/iter 53.927651785719334 ns/iter 1.01
Pointer_Object_Try_Traverse 73.16296874998939 ns/iter 73.29511160715388 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 170.39759846413406 ns/iter 180.44473932540646 ns/iter 0.94
Pointer_Walker_Schema_ISO_Language 10760205.35714406 ns/iter 10107926.66666627 ns/iter 1.06
Schema_Frame_WoT_References 9712621.874999883 ns/iter 9677228.00000047 ns/iter 1.00
Schema_Frame_OMC_References 49331239.99999225 ns/iter 42152088.235284545 ns/iter 1.17
Schema_Frame_OMC_Locations 41666294.117650226 ns/iter 38604189.47368472 ns/iter 1.08
Schema_Frame_ISO_Language_Locations 208261975.00002763 ns/iter 190394766.6667894 ns/iter 1.09
Schema_Frame_KrakenD_References 95576214.28572409 ns/iter 89429977.77775317 ns/iter 1.07
Schema_Frame_KrakenD_Reachable 546620099.9999273 ns/iter 484869950.0000748 ns/iter 1.13
Schema_Iterator_ISO_Language 4486415.584415818 ns/iter 4187436.7469895934 ns/iter 1.07
Schema_Frame_ISO_Language_Locations_To_JSON 261217400.000002 ns/iter 257296266.66664746 ns/iter 1.02
Schema_Tracker_ISO_Language 51955850.000013016 ns/iter 48109540.00001099 ns/iter 1.08
Schema_Tracker_ISO_Language_To_JSON 54850920.00001259 ns/iter 52654890.90908721 ns/iter 1.04
Schema_Format_ISO_Language_To_JSON 204901266.66671434 ns/iter 187922733.3332286 ns/iter 1.09
Schema_Bundle_Meta_2020_12 2863382.2033850914 ns/iter 2861476.706829377 ns/iter 1.00
Schema_Frame_Many_Resources_References 1493541999.999934 ns/iter 1435009299.9998195 ns/iter 1.04
Alterschema_Check_Readibility_ISO_Language_Set_3 331601950.00004935 ns/iter 322449549.9998739 ns/iter 1.03
Alterschema_Check_Readibility_OMC 61386381.81817606 ns/iter 59794018.181822725 ns/iter 1.03
Alterschema_Apply_Readibility_KrakenD 1032910500.0000709 ns/iter 977219799.9996024 ns/iter 1.06
EditorSchema_ForEditor_EmbeddedResources 27330960.000008415 ns/iter 27370638.461556714 ns/iter 1.00
URITemplateRouter_Create 22594.965624996632 ns/iter 22465.245777950833 ns/iter 1.01
URITemplateRouter_Match 213.17196874996114 ns/iter 209.63621874997784 ns/iter 1.02
URITemplateRouterView_Restore 31524.33482142669 ns/iter 32603.140674059337 ns/iter 0.97
URITemplateRouterView_Match 140.03657856976014 ns/iter 138.16660767111225 ns/iter 1.01

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

Copy link

@github-actions github-actions bot left a comment

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: 200b3dd Previous: 65f8293 Ratio
URITemplateRouter_Create 14657.400082000304 ns/iter 11648.447302822839 ns/iter 1.26
URITemplateRouter_Match 152.58215662280148 ns/iter 148.93915377800874 ns/iter 1.02
URITemplateRouterView_Restore 8143.635914958058 ns/iter 3644.263026308102 ns/iter 2.23
URITemplateRouterView_Match 140.41869528018998 ns/iter 127.71736298649614 ns/iter 1.10
EditorSchema_ForEditor_EmbeddedResources 13951738.419987123 ns/iter 13021228.905656999 ns/iter 1.07
Alterschema_Check_Readibility_ISO_Language_Set_3 213981012.33338213 ns/iter 186762577.25002187 ns/iter 1.15
Alterschema_Check_Readibility_OMC 34513590.34999086 ns/iter 34273539.699995585 ns/iter 1.01
Alterschema_Apply_Readibility_KrakenD 592050206.0000672 ns/iter 590155578.9998838 ns/iter 1.00
Schema_Frame_WoT_References 5326084.454545501 ns/iter 4768066.904761617 ns/iter 1.12
Schema_Frame_OMC_References 21830776.4516134 ns/iter 22178265.303030763 ns/iter 0.98
Schema_Frame_OMC_Locations 20562019.714290205 ns/iter 20464562.76470695 ns/iter 1.00
Schema_Frame_ISO_Language_Locations 103135073.71428646 ns/iter 101528908.42856063 ns/iter 1.02
Schema_Frame_KrakenD_References 40538441.411774114 ns/iter 41051202.35294634 ns/iter 0.99
Schema_Frame_KrakenD_Reachable 608998334.0000345 ns/iter 816454337.0003229 ns/iter 0.75
Schema_Iterator_ISO_Language 2624357.175373244 ns/iter 2670447.653845433 ns/iter 0.98
Schema_Frame_ISO_Language_Locations_To_JSON 309890640.50004345 ns/iter 284521389.6666792 ns/iter 1.09
Schema_Tracker_ISO_Language 34235664.19999133 ns/iter 36389379.0000044 ns/iter 0.94
Schema_Tracker_ISO_Language_To_JSON 33664080.76190704 ns/iter 39161205.58822995 ns/iter 0.86
Schema_Format_ISO_Language_To_JSON 111621364.83342995 ns/iter 107244280.83331835 ns/iter 1.04
Schema_Bundle_Meta_2020_12 1892883.334235762 ns/iter 1787072.7474456422 ns/iter 1.06
Schema_Frame_Many_Resources_References 390303897.49996173 ns/iter 385497265.00002635 ns/iter 1.01
Pointer_Object_Traverse 47.78355366940965 ns/iter 46.42484641934524 ns/iter 1.03
Pointer_Object_Try_Traverse 24.502307578118913 ns/iter 27.738349884524172 ns/iter 0.88
Pointer_Push_Back_Pointer_To_Weak_Pointer 148.35660965359637 ns/iter 157.34613240456122 ns/iter 0.94
Pointer_Walker_Schema_ISO_Language 3538343.3131310176 ns/iter 3561842.880596817 ns/iter 0.99
JSON_Array_Of_Objects_Unique 440.61114232210815 ns/iter 317.52621725890145 ns/iter 1.39
JSON_Parse_1 11738.49514563177 ns/iter 10324.573356763902 ns/iter 1.14
JSON_Parse_Real 17509.69296204692 ns/iter 15912.543001958516 ns/iter 1.10
JSON_Parse_Decimal 113455.80839387968 ns/iter 102717.83934087981 ns/iter 1.10
JSON_Parse_Schema_ISO_Language 6535138.869158825 ns/iter 6323514.436363357 ns/iter 1.03
JSON_Fast_Hash_Helm_Chart_Lock 71.82973980265511 ns/iter 52.00395326701676 ns/iter 1.38
JSON_Equality_Helm_Chart_Lock 153.4435767195869 ns/iter 132.5917674687396 ns/iter 1.16
JSON_String_Equal/10 7.21013197803602 ns/iter 5.224205328877428 ns/iter 1.38
JSON_String_Equal/100 6.805719377265146 ns/iter 6.379431698863367 ns/iter 1.07
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6237883814046821 ns/iter 0.8253592962374459 ns/iter 0.76
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 13.480837551990378 ns/iter 9.521142453042623 ns/iter 1.42
JSON_String_Fast_Hash/10 1.9426149718195063 ns/iter 2.7741172600246617 ns/iter 0.70
JSON_String_Fast_Hash/100 1.9434774616745847 ns/iter 2.7603324461584857 ns/iter 0.70
JSON_String_Key_Hash/10 1.5560577011757064 ns/iter 1.729701251515144 ns/iter 0.90
JSON_String_Key_Hash/100 12.424557532910125 ns/iter 11.817220313689718 ns/iter 1.05
JSON_Object_Defines_Miss_Same_Length 2.811798877947567 ns/iter 2.912320836798183 ns/iter 0.97
JSON_Object_Defines_Miss_Too_Small 2.795730669608474 ns/iter 3.160838224646221 ns/iter 0.88
JSON_Object_Defines_Miss_Too_Large 2.802091895291509 ns/iter 3.132069908093094 ns/iter 0.89
Regex_Lower_S_Or_Upper_S_Asterisk 3.1087560601057493 ns/iter 2.594171543094431 ns/iter 1.20
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1095801611655403 ns/iter 2.5943401588523836 ns/iter 1.20
Regex_Period_Asterisk 3.1077417186062664 ns/iter 2.593163248716952 ns/iter 1.20
Regex_Group_Period_Asterisk_Group 3.115793676926058 ns/iter 2.7013471637841366 ns/iter 1.15
Regex_Period_Plus 3.4183299137161587 ns/iter 2.6013963311883157 ns/iter 1.31
Regex_Period 3.41805792892773 ns/iter 2.5936237610105297 ns/iter 1.32
Regex_Caret_Period_Plus_Dollar 3.425711400075421 ns/iter 2.593396748618992 ns/iter 1.32
Regex_Caret_Group_Period_Plus_Group_Dollar 3.4194462294390404 ns/iter 2.5929406415145415 ns/iter 1.32
Regex_Caret_Period_Asterisk_Dollar 4.360369183506528 ns/iter 2.663815193903784 ns/iter 1.64
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.349974093854274 ns/iter 2.5936146249897365 ns/iter 1.68
Regex_Caret_X_Hyphen 9.637905889066321 ns/iter 8.840737885832185 ns/iter 1.09
Regex_Period_Md_Dollar 35.60111388765392 ns/iter 31.13452010376562 ns/iter 1.14
Regex_Caret_Slash_Period_Asterisk 8.085736334104256 ns/iter 8.508878310262379 ns/iter 0.95
Regex_Caret_Period_Range_Dollar 4.351408392217978 ns/iter 2.5945121315102146 ns/iter 1.68
Regex_Nested_Backtrack 57.40138192736797 ns/iter 50.41501123347711 ns/iter 1.14

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

@jviotti jviotti merged commit fff9333 into main Feb 12, 2026
12 checks passed
@jviotti jviotti deleted the json-more-grammar branch February 12, 2026 14:22
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