Skip to content

Reject invalid anchors in Draft 7 and older#2366

Merged
jviotti merged 1 commit intomainfrom
anchors-draft
Apr 30, 2026
Merged

Reject invalid anchors in Draft 7 and older#2366
jviotti merged 1 commit intomainfrom
anchors-draft

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented Apr 30, 2026

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

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

augmentcode Bot commented Apr 30, 2026

🤖 Augment PR Summary

Summary: This PR tightens validation of “plain-name” anchors for older JSON Schema drafts, ensuring invalid fragment identifiers are rejected rather than silently accepted.

Changes:

  • Consolidated Draft 2019-09 “plain-name” anchor validation into a shared is_valid_anchor helper.
  • For Draft 6/7, validates the legacy $id fragment form ("#name") against the draft’s plain-name grammar and throws SchemaKeywordError on invalid values.
  • For Draft 4, additionally verifies fragment-only id values are valid RFC 3986 URI references before treating them as anchors.
  • Added regression tests for Draft 3/4/6/7 covering invalid fragment cases (whitespace, punctuation, leading digit/underscore, etc.).

Technical Notes: The new checks reject malformed anchors early during frame analysis, improving interoperability and making failures explicit via keyword/frame errors.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@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
Copy Markdown

@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 5 files

@jviotti jviotti merged commit 7534bfe into main Apr 30, 2026
13 checks passed
@jviotti jviotti deleted the anchors-draft branch April 30, 2026 16:04
Copy link
Copy Markdown

@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: daa9206 Previous: 4ae36db Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.069936120399062 ns/iter 2.7306477638273496 ns/iter 0.76
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.0175895267848922 ns/iter 2.7274048059061413 ns/iter 0.74
Regex_Period_Asterisk 2.023940754089393 ns/iter 2.726613949338649 ns/iter 0.74
Regex_Group_Period_Asterisk_Group 2.0185467125121677 ns/iter 2.7293252156816457 ns/iter 0.74
Regex_Period_Plus 2.308052170514878 ns/iter 2.7288471557516205 ns/iter 0.85
Regex_Period 2.306834504611186 ns/iter 2.7278408624028283 ns/iter 0.85
Regex_Caret_Period_Plus_Dollar 2.3068775933349106 ns/iter 2.731224835661278 ns/iter 0.84
Regex_Caret_Group_Period_Plus_Group_Dollar 2.305766861570391 ns/iter 2.728022620408411 ns/iter 0.85
Regex_Caret_Period_Asterisk_Dollar 2.0174197781171235 ns/iter 2.999747097121997 ns/iter 0.67
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.0198456726836773 ns/iter 3.0013144379107675 ns/iter 0.67
Regex_Caret_X_Hyphen 8.658197768749625 ns/iter 9.271482116553292 ns/iter 0.93
Regex_Period_Md_Dollar 25.416699387910594 ns/iter 20.689854116238976 ns/iter 1.23
Regex_Caret_Slash_Period_Asterisk 8.899682562562063 ns/iter 9.036950655494444 ns/iter 0.98
Regex_Caret_Period_Range_Dollar 2.4466043008915856 ns/iter 2.8601018960340236 ns/iter 0.86
Regex_Nested_Backtrack 44.271538133134534 ns/iter 37.131072463956464 ns/iter 1.19
JSON_Array_Of_Objects_Unique 344.1925316534908 ns/iter 355.0821364277331 ns/iter 0.97
JSON_Parse_1 5147.139058633948 ns/iter 4576.110739271574 ns/iter 1.12
JSON_Parse_Real 10210.85185779196 ns/iter 8104.4546387124265 ns/iter 1.26
JSON_Parse_Decimal 10052.390571374966 ns/iter 9057.466687306167 ns/iter 1.11
JSON_Parse_Schema_ISO_Language 3252752.6604648894 ns/iter 3061384.3114039944 ns/iter 1.06
JSON_Fast_Hash_Helm_Chart_Lock 49.831635418896326 ns/iter 56.912109678916444 ns/iter 0.88
JSON_Equality_Helm_Chart_Lock 124.71889121616768 ns/iter 130.41641566224845 ns/iter 0.96
JSON_Divisible_By_Decimal 254.29659534291747 ns/iter 191.61367168350293 ns/iter 1.33
JSON_String_Equal/10 4.3267246410173446 ns/iter 4.37518692001436 ns/iter 0.99
JSON_String_Equal/100 5.476301275378839 ns/iter 5.191905234283193 ns/iter 1.05
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6925133684272088 ns/iter 0.8181189259325281 ns/iter 0.85
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 9.547481503913797 ns/iter 9.680853328741595 ns/iter 0.99
JSON_String_Fast_Hash/10 2.305513310660343 ns/iter 2.1851058345588155 ns/iter 1.06
JSON_String_Fast_Hash/100 2.305224896429156 ns/iter 2.1838329427154624 ns/iter 1.06
JSON_String_Key_Hash/10 1.7283766907681366 ns/iter 1.9088194514773948 ns/iter 0.91
JSON_String_Key_Hash/100 6.631273036023182 ns/iter 6.269987442275768 ns/iter 1.06
JSON_Object_Defines_Miss_Same_Length 3.802953034784674 ns/iter 3.2899750670065275 ns/iter 1.16
JSON_Object_Defines_Miss_Too_Small 3.853406962864121 ns/iter 3.332702870526485 ns/iter 1.16
JSON_Object_Defines_Miss_Too_Large 3.797198616466877 ns/iter 3.2718093131660604 ns/iter 1.16
Pointer_Object_Traverse 24.379404167105008 ns/iter 21.478713719082695 ns/iter 1.14
Pointer_Object_Try_Traverse 28.68661529467753 ns/iter 23.066021863414925 ns/iter 1.24
Pointer_Push_Back_Pointer_To_Weak_Pointer 183.65410470187004 ns/iter 144.88903778347301 ns/iter 1.27
Pointer_Walker_Schema_ISO_Language 3044001.0619468093 ns/iter 2495924.950529906 ns/iter 1.22
Pointer_Maybe_Tracked_Deeply_Nested/0 1187296.9269950567 ns/iter 1151259.3531300148 ns/iter 1.03
Pointer_Maybe_Tracked_Deeply_Nested/1 1916567.1086350288 ns/iter 1331455.8829173946 ns/iter 1.44
Pointer_Position_Tracker_Get_Deeply_Nested 639.3568156579744 ns/iter 486.0575784448581 ns/iter 1.32
Schema_Frame_WoT_References 4558876.168831174 ns/iter 4103714.532164181 ns/iter 1.11
Schema_Frame_OMC_References 19244826.305557203 ns/iter 18365440.236843705 ns/iter 1.05
Schema_Frame_OMC_Locations 17475716.92500003 ns/iter 15754064.418605022 ns/iter 1.11
Schema_Frame_ISO_Language_Locations 91408769.99999495 ns/iter 75916416.71428664 ns/iter 1.20
Schema_Frame_KrakenD_References 37180824.84210514 ns/iter 31520129.318178903 ns/iter 1.18
Schema_Frame_KrakenD_Reachable 742747207.9999689 ns/iter 483667967.99996334 ns/iter 1.54
Schema_Iterator_ISO_Language 2739482.8473895276 ns/iter 2352761.1283786176 ns/iter 1.16
Schema_Frame_ISO_Language_Locations_To_JSON 114324699.9999974 ns/iter 96446192.57143664 ns/iter 1.19
Schema_Tracker_ISO_Language 4637105.778523551 ns/iter 3866389.6611113716 ns/iter 1.20
Schema_Tracker_ISO_Language_To_JSON 20429081.48571639 ns/iter 14285086.000000421 ns/iter 1.43
Schema_Format_ISO_Language_To_JSON 99073300.85712017 ns/iter 81626232.87499571 ns/iter 1.21
Schema_Bundle_Meta_2020_12 1533245.3632407072 ns/iter 1301017.5520425742 ns/iter 1.18
Schema_Frame_Many_Resources_References 370760990.5000027 ns/iter 301566391.4999891 ns/iter 1.23
EditorSchema_ForEditor_EmbeddedResources 12347548.91071077 ns/iter 10683762.353850259 ns/iter 1.16
URITemplateRouter_Create 16086.668345406399 ns/iter 13134.790393259078 ns/iter 1.22
URITemplateRouter_Match 143.06928781194011 ns/iter 129.48092089326786 ns/iter 1.10
URITemplateRouter_Match_BasePath 161.53506064032044 ns/iter 152.16252217536754 ns/iter 1.06
URITemplateRouterView_Restore 2555.054610922317 ns/iter 4929.979150530787 ns/iter 0.52
URITemplateRouterView_Match 139.9394480395638 ns/iter 124.24327566008525 ns/iter 1.13
URITemplateRouterView_Match_BasePath 157.59987511404117 ns/iter 143.15725906159545 ns/iter 1.10
URITemplateRouterView_Arguments 420.9218450681696 ns/iter 363.8757322501751 ns/iter 1.16
JSONL_Parse_Large 9516471.851350468 ns/iter 8324078.11904816 ns/iter 1.14
JSONL_Parse_Large_GZIP 10749919.600000514 ns/iter 9051401.6363634 ns/iter 1.19
HTML_Build_Table_100000 71017673.40000151 ns/iter 70937418.4000012 ns/iter 1.00
HTML_Render_Table_100000 9980140.18840633 ns/iter 4776173.2816899875 ns/iter 2.09

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

Copy link
Copy Markdown

@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: daa9206 Previous: 2e2837e Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.0809840057992 ns/iter 1.6011428482572905 ns/iter 1.30
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.0607967754215037 ns/iter 1.6096403585851289 ns/iter 1.28
Regex_Period_Asterisk 1.9758313346625354 ns/iter 1.5873441473682293 ns/iter 1.24
Regex_Group_Period_Asterisk_Group 1.9498521470835803 ns/iter 1.5813354818119785 ns/iter 1.23
Regex_Period_Plus 2.686479675993484 ns/iter 1.9357507141220165 ns/iter 1.39
Regex_Period 2.5499569015849533 ns/iter 1.888918364127989 ns/iter 1.35
Regex_Caret_Period_Plus_Dollar 2.804034852413319 ns/iter 2.180769660844033 ns/iter 1.29
Regex_Caret_Group_Period_Plus_Group_Dollar 2.2083514242420104 ns/iter 1.965517429356249 ns/iter 1.12
Regex_Caret_Period_Asterisk_Dollar 2.0220272430240582 ns/iter 1.6073157108845109 ns/iter 1.26
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.902748070918528 ns/iter 1.6556344765897908 ns/iter 1.15
Regex_Caret_X_Hyphen 6.845131025580805 ns/iter 6.117403751238659 ns/iter 1.12
Regex_Period_Md_Dollar 20.95938984775326 ns/iter 19.826907084155838 ns/iter 1.06
Regex_Caret_Slash_Period_Asterisk 5.320783749999691 ns/iter 4.657562673865195 ns/iter 1.14
Regex_Caret_Period_Range_Dollar 1.8802865142674416 ns/iter 1.737148938193738 ns/iter 1.08
Regex_Nested_Backtrack 31.864201598588348 ns/iter 24.48634750767827 ns/iter 1.30
JSON_Array_Of_Objects_Unique 395.91151058090526 ns/iter 326.4331853095603 ns/iter 1.21
JSON_Parse_1 4188.149763958534 ns/iter 3925.518355206619 ns/iter 1.07
JSON_Parse_Real 6820.613286843308 ns/iter 6501.121888481961 ns/iter 1.05
JSON_Parse_Decimal 8483.59017031131 ns/iter 9288.433170550727 ns/iter 0.91
JSON_Parse_Schema_ISO_Language 5638244.827585775 ns/iter 4454628.703704791 ns/iter 1.27
JSON_Fast_Hash_Helm_Chart_Lock 71.26682339544082 ns/iter 55.7204117209538 ns/iter 1.28
JSON_Equality_Helm_Chart_Lock 150.75345780100272 ns/iter 118.94303047705623 ns/iter 1.27
JSON_Divisible_By_Decimal 205.9153287923349 ns/iter 163.91077711972426 ns/iter 1.26
JSON_String_Equal/10 7.007839906047095 ns/iter 6.094700140625685 ns/iter 1.15
JSON_String_Equal/100 6.242643267805737 ns/iter 5.789663146607569 ns/iter 1.08
JSON_String_Equal_Small_By_Perfect_Hash/10 0.8206703320097194 ns/iter 0.7128570490362205 ns/iter 1.15
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.5536336992975897 ns/iter 3.2098806342340107 ns/iter 1.11
JSON_String_Fast_Hash/10 2.5542983448850043 ns/iter 2.316345272328175 ns/iter 1.10
JSON_String_Fast_Hash/100 2.352007886508853 ns/iter 1.952886265497583 ns/iter 1.20
JSON_String_Key_Hash/10 1.4467916500939357 ns/iter 1.3187900294448893 ns/iter 1.10
JSON_String_Key_Hash/100 2.320454574525407 ns/iter 2.0351227338704714 ns/iter 1.14
JSON_Object_Defines_Miss_Same_Length 2.3977404111205605 ns/iter 2.700605073227933 ns/iter 0.89
JSON_Object_Defines_Miss_Too_Small 3.067698331442132 ns/iter 2.385871243751138 ns/iter 1.29
JSON_Object_Defines_Miss_Too_Large 2.5373822989628287 ns/iter 2.3404137145619655 ns/iter 1.08
Pointer_Object_Traverse 14.648344234815486 ns/iter 13.691403916650941 ns/iter 1.07
Pointer_Object_Try_Traverse 19.930277847966742 ns/iter 18.616105631092474 ns/iter 1.07
Pointer_Push_Back_Pointer_To_Weak_Pointer 167.34710325093968 ns/iter 145.45050102000891 ns/iter 1.15
Pointer_Walker_Schema_ISO_Language 5193910.830000732 ns/iter 3778148.047873169 ns/iter 1.37
Pointer_Maybe_Tracked_Deeply_Nested/0 1306705.838323284 ns/iter 953616.154731517 ns/iter 1.37
Pointer_Maybe_Tracked_Deeply_Nested/1 1718210.924892776 ns/iter 1263821.195381952 ns/iter 1.36
Pointer_Position_Tracker_Get_Deeply_Nested 386.0583843328071 ns/iter 336.80979379287675 ns/iter 1.15
Schema_Frame_WoT_References 5136671.345794809 ns/iter 4344863.754601474 ns/iter 1.18
Schema_Frame_OMC_References 30408987.192310214 ns/iter 25894920.965521153 ns/iter 1.17
Schema_Frame_OMC_Locations 28646776.785714272 ns/iter 28242516.03845614 ns/iter 1.01
Schema_Frame_ISO_Language_Locations 86577571.42857137 ns/iter 78815481.4444321 ns/iter 1.10
Schema_Frame_KrakenD_References 45233361.999997616 ns/iter 44618815.49999751 ns/iter 1.01
Schema_Frame_KrakenD_Reachable 443016521.4999988 ns/iter 334941458.4999977 ns/iter 1.32
Schema_Iterator_ISO_Language 2481426.8415839523 ns/iter 2033899.4140844771 ns/iter 1.22
Schema_Frame_ISO_Language_Locations_To_JSON 74971402.77776755 ns/iter 92575071.42855762 ns/iter 0.81
Schema_Tracker_ISO_Language 9362758.92857046 ns/iter 8874974.802324686 ns/iter 1.05
Schema_Tracker_ISO_Language_To_JSON 15094624.086956449 ns/iter 13300195.754718 ns/iter 1.13
Schema_Format_ISO_Language_To_JSON 84302699.00000237 ns/iter 70149351.55555373 ns/iter 1.20
Schema_Bundle_Meta_2020_12 1508258.8948373701 ns/iter 1274975.980835756 ns/iter 1.18
Schema_Frame_Many_Resources_References 353014187.4999799 ns/iter 282553749.99995786 ns/iter 1.25
EditorSchema_ForEditor_EmbeddedResources 13193934.45763095 ns/iter 10282195.739719475 ns/iter 1.28
URITemplateRouter_Create 18612.169211652887 ns/iter 17289.684174137084 ns/iter 1.08
URITemplateRouter_Match 174.2418419673154 ns/iter 154.65571254034876 ns/iter 1.13
URITemplateRouter_Match_BasePath 203.02078529669384 ns/iter 181.37568477049396 ns/iter 1.12
URITemplateRouterView_Restore 14770.766491112352 ns/iter 12918.596357976347 ns/iter 1.14
URITemplateRouterView_Match 137.2619880817531 ns/iter 121.503859599803 ns/iter 1.13
URITemplateRouterView_Match_BasePath 154.70255908054264 ns/iter 140.8211449865846 ns/iter 1.10
URITemplateRouterView_Arguments 415.1869620797219 ns/iter 390.3234889318195 ns/iter 1.06
JSONL_Parse_Large 12739365.934783604 ns/iter 11363694.450002035 ns/iter 1.12
JSONL_Parse_Large_GZIP 14019217.1346139 ns/iter 12306065.37931102 ns/iter 1.14
HTML_Build_Table_100000 70999388.88888523 ns/iter 60491750.00000353 ns/iter 1.17
HTML_Render_Table_100000 3092358.291208601 ns/iter 2423599.999999769 ns/iter 1.28

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

Copy link
Copy Markdown

@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: daa9206 Previous: 2e2837e Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 4.099901785714621 ns/iter 4.112628355558976 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.720961394466225 ns/iter 4.736128795700659 ns/iter 1.00
Regex_Period_Asterisk 4.086053013391425 ns/iter 4.094617498172192 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 4.712295434858261 ns/iter 4.730264742701465 ns/iter 1.00
Regex_Period_Plus 3.7793073146784724 ns/iter 3.8330924931552777 ns/iter 0.99
Regex_Period 3.7687371361272097 ns/iter 3.7954949932226962 ns/iter 0.99
Regex_Caret_Period_Plus_Dollar 4.397109707858889 ns/iter 4.418151283794581 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 4.395471875000112 ns/iter 4.414276417731999 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 4.708806037297691 ns/iter 4.75133438560482 ns/iter 0.99
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.714554921239426 ns/iter 4.719007510734102 ns/iter 1.00
Regex_Caret_X_Hyphen 7.851494419642993 ns/iter 7.860527678571674 ns/iter 1.00
Regex_Period_Md_Dollar 35.01030523453946 ns/iter 35.05036204207845 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 7.8598705357180165 ns/iter 7.860231026786124 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.711625233730767 ns/iter 4.751780335881991 ns/iter 0.99
Regex_Nested_Backtrack 95.08052254104769 ns/iter 99.30245312499864 ns/iter 0.96
JSON_Array_Of_Objects_Unique 490.9565381600289 ns/iter 504.15540000017245 ns/iter 0.97
JSON_Parse_1 8090.737541349654 ns/iter 8069.812499998465 ns/iter 1.00
JSON_Parse_Real 16199.939732146617 ns/iter 16310.973214288537 ns/iter 0.99
JSON_Parse_Decimal 15858.216517859855 ns/iter 15914.279017858387 ns/iter 1.00
JSON_Parse_Schema_ISO_Language 6428362.499998944 ns/iter 6088368.749999518 ns/iter 1.06
JSON_Fast_Hash_Helm_Chart_Lock 67.08921875002716 ns/iter 68.35551339285928 ns/iter 0.98
JSON_Equality_Helm_Chart_Lock 246.5222857142635 ns/iter 260.3768928571526 ns/iter 0.95
JSON_Divisible_By_Decimal 243.71856654919324 ns/iter 251.25710714283807 ns/iter 0.97
JSON_String_Equal/10 12.22663281249936 ns/iter 12.549682142857169 ns/iter 0.97
JSON_String_Equal/100 12.982839450969983 ns/iter 13.254682142855602 ns/iter 0.98
JSON_String_Equal_Small_By_Perfect_Hash/10 1.8824589041481279 ns/iter 1.883354733824068 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.888557142860334 ns/iter 12.595117857143482 ns/iter 1.02
JSON_String_Fast_Hash/10 3.766759486608809 ns/iter 3.808678571428002 ns/iter 0.99
JSON_String_Fast_Hash/100 3.8429057074246376 ns/iter 3.777588207539189 ns/iter 1.02
JSON_String_Key_Hash/10 4.100630580357034 ns/iter 3.774486421830356 ns/iter 1.09
JSON_String_Key_Hash/100 14.442257748028128 ns/iter 16.61321640660464 ns/iter 0.87
JSON_Object_Defines_Miss_Same_Length 3.948257671520496 ns/iter 3.875366243080065 ns/iter 1.02
JSON_Object_Defines_Miss_Too_Small 3.8378919264962272 ns/iter 3.78558077533485 ns/iter 1.01
JSON_Object_Defines_Miss_Too_Large 4.133076659166624 ns/iter 3.783824776785342 ns/iter 1.09
Pointer_Object_Traverse 41.01732775878098 ns/iter 40.56303000753737 ns/iter 1.01
Pointer_Object_Try_Traverse 52.45735714286833 ns/iter 49.572946428558645 ns/iter 1.06
Pointer_Push_Back_Pointer_To_Weak_Pointer 165.5486851930146 ns/iter 170.95727260873218 ns/iter 0.97
Pointer_Walker_Schema_ISO_Language 13579355.357137501 ns/iter 12072869.642858159 ns/iter 1.12
Pointer_Maybe_Tracked_Deeply_Nested/0 2143606.42857108 ns/iter 2024652.1428573162 ns/iter 1.06
Pointer_Maybe_Tracked_Deeply_Nested/1 3277890.1785722575 ns/iter 3231393.8967129877 ns/iter 1.01
Pointer_Position_Tracker_Get_Deeply_Nested 619.3536830357363 ns/iter 609.6872767855643 ns/iter 1.02
Schema_Frame_WoT_References 11023912.500000676 ns/iter 10029822.666665494 ns/iter 1.10
Schema_Frame_OMC_References 47797299.99998901 ns/iter 44961012.4999964 ns/iter 1.06
Schema_Frame_OMC_Locations 45268947.05882382 ns/iter 40845294.11765663 ns/iter 1.11
Schema_Frame_ISO_Language_Locations 224186866.66666567 ns/iter 199675900.00002626 ns/iter 1.12
Schema_Frame_KrakenD_References 98670628.5713938 ns/iter 92015714.28570786 ns/iter 1.07
Schema_Frame_KrakenD_Reachable 616805799.9998382 ns/iter 530766999.9999689 ns/iter 1.16
Schema_Iterator_ISO_Language 7058071.111108196 ns/iter 6672277.777776496 ns/iter 1.06
Schema_Frame_ISO_Language_Locations_To_JSON 318161449.99993414 ns/iter 292705149.99996066 ns/iter 1.09
Schema_Tracker_ISO_Language 17127229.26829262 ns/iter 16617962.222219123 ns/iter 1.03
Schema_Tracker_ISO_Language_To_JSON 51580530.00000109 ns/iter 50648519.999981545 ns/iter 1.02
Schema_Format_ISO_Language_To_JSON 219505433.33332464 ns/iter 202599966.66663936 ns/iter 1.08
Schema_Bundle_Meta_2020_12 2992903.8135482557 ns/iter 2983941.9491424253 ns/iter 1.00
Schema_Frame_Many_Resources_References 1619330499.9997053 ns/iter 1545201000.0001338 ns/iter 1.05
EditorSchema_ForEditor_EmbeddedResources 31085527.272704314 ns/iter 29846460.00000794 ns/iter 1.04
URITemplateRouter_Create 23621.840158035688 ns/iter 24044.517857143026 ns/iter 0.98
URITemplateRouter_Match 213.50325000000223 ns/iter 245.9558765674383 ns/iter 0.87
URITemplateRouter_Match_BasePath 248.3922142857864 ns/iter 273.5116351111254 ns/iter 0.91
URITemplateRouterView_Restore 32985.538836534535 ns/iter 32397.45536282535 ns/iter 1.02
URITemplateRouterView_Match 153.42134582944095 ns/iter 154.50188819185848 ns/iter 0.99
URITemplateRouterView_Match_BasePath 184.29076645453512 ns/iter 178.76471956009686 ns/iter 1.03
URITemplateRouterView_Arguments 446.5710098469808 ns/iter 445.48524999996175 ns/iter 1.00
JSONL_Parse_Large 29041058.3333293 ns/iter 28563304.00000843 ns/iter 1.02
JSONL_Parse_Large_GZIP 29169443.999999203 ns/iter 28369972.000000414 ns/iter 1.03
HTML_Build_Table_100000 85292671.42856562 ns/iter 86683199.99998987 ns/iter 0.98
HTML_Render_Table_100000 7126765.555555418 ns/iter 7830882.2222222965 ns/iter 0.91

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

Copy link
Copy Markdown

@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: daa9206 Previous: 2e2837e Ratio
HTML_Build_Table_100000 63968454.000008605 ns/iter 63611801.54544854 ns/iter 1.01
HTML_Render_Table_100000 5415042.272727439 ns/iter 5503696.899224042 ns/iter 0.98
JSONL_Parse_Large 12726493.600001214 ns/iter 12831907.036363853 ns/iter 0.99
JSONL_Parse_Large_GZIP 13872517.392156607 ns/iter 13968287.780003266 ns/iter 0.99
URITemplateRouter_Create 17708.479746993962 ns/iter 18320.238960089853 ns/iter 0.97
URITemplateRouter_Match 174.531656219117 ns/iter 172.8253180955183 ns/iter 1.01
URITemplateRouter_Match_BasePath 201.8704233614274 ns/iter 192.9656458559818 ns/iter 1.05
URITemplateRouterView_Restore 6655.21658203281 ns/iter 6684.417003120053 ns/iter 1.00
URITemplateRouterView_Match 136.57695906023662 ns/iter 135.97164203656183 ns/iter 1.00
URITemplateRouterView_Match_BasePath 154.27119770755803 ns/iter 151.40549630037816 ns/iter 1.02
URITemplateRouterView_Arguments 462.0355657146078 ns/iter 452.5694770565421 ns/iter 1.02
EditorSchema_ForEditor_EmbeddedResources 13856919.843125498 ns/iter 14025759.90000514 ns/iter 0.99
Schema_Frame_WoT_References 5349193.45454565 ns/iter 5460733.875968643 ns/iter 0.98
Schema_Frame_OMC_References 22772850.129036494 ns/iter 22714383.466662485 ns/iter 1.00
Schema_Frame_OMC_Locations 20977306.49999823 ns/iter 20901900.617646415 ns/iter 1.00
Schema_Frame_ISO_Language_Locations 105135750.99999647 ns/iter 104794682.33332531 ns/iter 1.00
Schema_Frame_KrakenD_References 41045711.17647324 ns/iter 41238412.764695406 ns/iter 1.00
Schema_Frame_KrakenD_Reachable 567860378.0002049 ns/iter 553407868.9997841 ns/iter 1.03
Schema_Iterator_ISO_Language 3320181.535544878 ns/iter 3155509.339366212 ns/iter 1.05
Schema_Frame_ISO_Language_Locations_To_JSON 223950868.33338 ns/iter 214391684.666604 ns/iter 1.04
Schema_Tracker_ISO_Language 4909018.257142504 ns/iter 4800533.33333418 ns/iter 1.02
Schema_Tracker_ISO_Language_To_JSON 22129387.812505286 ns/iter 21976595.687497992 ns/iter 1.01
Schema_Format_ISO_Language_To_JSON 110878872.50001435 ns/iter 109841940.1666509 ns/iter 1.01
Schema_Bundle_Meta_2020_12 1786438.946557758 ns/iter 1812675.093259162 ns/iter 0.99
Schema_Frame_Many_Resources_References 372410803.4999745 ns/iter 387227277.5000738 ns/iter 0.96
Pointer_Object_Traverse 24.105519351949713 ns/iter 26.16430125241797 ns/iter 0.92
Pointer_Object_Try_Traverse 19.953706921018927 ns/iter 19.93854010243866 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 142.43309887068116 ns/iter 160.60434259667278 ns/iter 0.89
Pointer_Walker_Schema_ISO_Language 3378681.3301440473 ns/iter 3303506.1502347854 ns/iter 1.02
Pointer_Maybe_Tracked_Deeply_Nested/0 1551449.0044248241 ns/iter 1561841.5176991583 ns/iter 0.99
Pointer_Maybe_Tracked_Deeply_Nested/1 1788089.1827677763 ns/iter 1786231.3959395916 ns/iter 1.00
Pointer_Position_Tracker_Get_Deeply_Nested 408.4995768163626 ns/iter 414.4147905048412 ns/iter 0.99
JSON_Array_Of_Objects_Unique 413.9327326621876 ns/iter 403.8325296728913 ns/iter 1.03
JSON_Parse_1 7915.564928097127 ns/iter 7973.854886093122 ns/iter 0.99
JSON_Parse_Real 12230.358001932607 ns/iter 12217.405069263701 ns/iter 1.00
JSON_Parse_Decimal 18238.599618710046 ns/iter 17587.709711659754 ns/iter 1.04
JSON_Parse_Schema_ISO_Language 4691821.161074568 ns/iter 4602766.185430091 ns/iter 1.02
JSON_Fast_Hash_Helm_Chart_Lock 71.66325706072556 ns/iter 67.57068196271929 ns/iter 1.06
JSON_Equality_Helm_Chart_Lock 175.05346626059614 ns/iter 158.89935297061592 ns/iter 1.10
JSON_Divisible_By_Decimal 245.45049780828114 ns/iter 243.01192494378105 ns/iter 1.01
JSON_String_Equal/10 6.974950931852989 ns/iter 6.652053600914396 ns/iter 1.05
JSON_String_Equal/100 7.577686344109559 ns/iter 6.988286948565399 ns/iter 1.08
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6235017761328422 ns/iter 0.6256866238153774 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 25.212032952017193 ns/iter 25.206378596912817 ns/iter 1.00
JSON_String_Fast_Hash/10 0.934191398906887 ns/iter 0.9346321375075084 ns/iter 1.00
JSON_String_Fast_Hash/100 0.9343189541889461 ns/iter 0.934607891601273 ns/iter 1.00
JSON_String_Key_Hash/10 1.558249738880567 ns/iter 1.5611071474877687 ns/iter 1.00
JSON_String_Key_Hash/100 12.442581429714316 ns/iter 12.447551828900052 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.4253478249276843 ns/iter 3.427445340733935 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.113808897169557 ns/iter 3.116546269524385 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.7392173510351148 ns/iter 3.7381510996174923 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 1.562398035889592 ns/iter 1.5582778831042736 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.557310816242453 ns/iter 1.5574618259565876 ns/iter 1.00
Regex_Period_Asterisk 1.2457718075545765 ns/iter 1.2500450256977125 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 1.2469229756418634 ns/iter 1.2465814970191373 ns/iter 1.00
Regex_Period_Plus 1.5571049611401033 ns/iter 1.5586188942237573 ns/iter 1.00
Regex_Period 1.5571650479431574 ns/iter 1.5582716212350456 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 1.2458808868921265 ns/iter 1.2474335131599592 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 1.2460947692238797 ns/iter 1.2463188793222448 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 1.246330520777449 ns/iter 1.2460722907662876 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.246165722323579 ns/iter 1.2453929190061248 ns/iter 1.00
Regex_Caret_X_Hyphen 12.752640832024817 ns/iter 12.75607330549891 ns/iter 1.00
Regex_Period_Md_Dollar 45.62129315895135 ns/iter 33.26014229444956 ns/iter 1.37
Regex_Caret_Slash_Period_Asterisk 4.672029361395584 ns/iter 4.669867586303895 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 1.5580699919657095 ns/iter 1.56483246261138 ns/iter 1.00
Regex_Nested_Backtrack 53.86508024944589 ns/iter 51.18672467035903 ns/iter 1.05

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