Skip to content

Make URITemplateRouterViewTest resistant to invalid data crashes#2271

Merged
jviotti merged 1 commit intomainfrom
fuzz-router-view
Feb 24, 2026
Merged

Make URITemplateRouterViewTest resistant to invalid data crashes#2271
jviotti merged 1 commit intomainfrom
fuzz-router-view

Conversation

@jviotti
Copy link
Member

@jviotti jviotti commented Feb 24, 2026

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

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

@augmentcode
Copy link

augmentcode bot commented Feb 24, 2026

🤖 Augment PR Summary

Summary: This PR hardens URITemplateRouterView against corrupted/invalid on-disk router data so that matching fails safely instead of crashing.

Changes:

  • Replaces debug assert checks with runtime validation of header size, magic/version, and basic layout invariants.
  • Validates that node_count fits within the file and that string_table_offset does not overlap the header/node table.
  • Adds bounds checks for literal/variable child indices before dereferencing nodes.
  • Passes string table size into literal-child binary search and checks string references before memcmp.

Tests: Adds a broad set of regression tests that write malformed router binaries (empty/truncated headers, wrong magic/version, out-of-range child indices, invalid string offsets/lengths, and overflow cases) and assert match() returns 0 with no captures.

Technical Notes: match() now early-returns 0 on validation failure, making test runs and consumers resilient to bad persisted router files.

🤖 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. 2 suggestions posted.

Fix All in Augment

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

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
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: 3781669 Previous: 5d5098c Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.1118299835657366 ns/iter 3.1162502506747725 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.107903759130486 ns/iter 3.111584036681773 ns/iter 1.00
Regex_Period_Asterisk 3.1090431522655604 ns/iter 3.10796619705841 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.1086300906359803 ns/iter 3.1091536283069767 ns/iter 1.00
Regex_Period_Plus 3.1133413957943272 ns/iter 2.8277981006592348 ns/iter 1.10
Regex_Period 3.1091818447092887 ns/iter 3.0477837124712757 ns/iter 1.02
Regex_Caret_Period_Plus_Dollar 3.1091781897026913 ns/iter 2.922736339989645 ns/iter 1.06
Regex_Caret_Group_Period_Plus_Group_Dollar 3.110173363423142 ns/iter 2.858205137655856 ns/iter 1.09
Regex_Caret_Period_Asterisk_Dollar 3.108210015473653 ns/iter 3.1094526629798067 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.108519654564282 ns/iter 3.419234257648544 ns/iter 0.91
Regex_Caret_X_Hyphen 7.474054047194257 ns/iter 10.614849748008922 ns/iter 0.70
Regex_Period_Md_Dollar 27.701943926738018 ns/iter 27.374953757042757 ns/iter 1.01
Regex_Caret_Slash_Period_Asterisk 6.222651529059118 ns/iter 6.220573798358142 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.045409723981322 ns/iter 4.043757036720337 ns/iter 1.00
Regex_Nested_Backtrack 55.212748411582325 ns/iter 49.00796121889886 ns/iter 1.13
JSON_Array_Of_Objects_Unique 449.15848952025334 ns/iter 449.1354751681468 ns/iter 1.00
JSON_Parse_1 6317.62127046609 ns/iter 6390.856614555812 ns/iter 0.99
JSON_Parse_Real 11338.351453219091 ns/iter 10982.741564245414 ns/iter 1.03
JSON_Parse_Decimal 11991.622827037234 ns/iter 12141.833926122652 ns/iter 0.99
JSON_Parse_Schema_ISO_Language 3781626.795811277 ns/iter 3641361.4010418393 ns/iter 1.04
JSON_Fast_Hash_Helm_Chart_Lock 61.350105524102766 ns/iter 61.298443564902406 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 172.41772539284506 ns/iter 173.91840350625512 ns/iter 0.99
JSON_Divisible_By_Decimal 588.7530544177708 ns/iter 592.6367173422818 ns/iter 0.99
JSON_String_Equal/10 8.171912405909211 ns/iter 7.161160464603 ns/iter 1.14
JSON_String_Equal/100 7.78212280050606 ns/iter 7.789864260287629 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9409651213046193 ns/iter 0.9384444789409926 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.283994665975936 ns/iter 10.261604300240823 ns/iter 1.00
JSON_String_Fast_Hash/10 2.4908964516523118 ns/iter 2.4975888759118705 ns/iter 1.00
JSON_String_Fast_Hash/100 2.488500622655303 ns/iter 2.486460509741824 ns/iter 1.00
JSON_String_Key_Hash/10 2.491255213715314 ns/iter 2.488941843760676 ns/iter 1.00
JSON_String_Key_Hash/100 6.530017684748905 ns/iter 6.52979938195236 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.739908306649945 ns/iter 3.737543601845864 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.738757933060269 ns/iter 3.7352892241450033 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.738571846423459 ns/iter 3.7464332229911363 ns/iter 1.00
Pointer_Object_Traverse 45.01078243756266 ns/iter 45.02846610978379 ns/iter 1.00
Pointer_Object_Try_Traverse 53.234665405300355 ns/iter 53.217621045134756 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 302.7207748539656 ns/iter 303.26947382600287 ns/iter 1.00
Pointer_Walker_Schema_ISO_Language 3117402.772925854 ns/iter 3123459.679999946 ns/iter 1.00
Schema_Frame_WoT_References 4803938.486301445 ns/iter 4808213.09589009 ns/iter 1.00
Schema_Frame_OMC_References 19881648.285715006 ns/iter 19876541.057143576 ns/iter 1.00
Schema_Frame_OMC_Locations 18226660.02631554 ns/iter 19195166.410257187 ns/iter 0.95
Schema_Frame_ISO_Language_Locations 103785528.33333288 ns/iter 103029543.99999939 ns/iter 1.01
Schema_Frame_KrakenD_References 37554583.55555498 ns/iter 37683701.47368291 ns/iter 1.00
Schema_Frame_KrakenD_Reachable 570969685.0001365 ns/iter 582405227.9999706 ns/iter 0.98
Schema_Iterator_ISO_Language 2324220.82781446 ns/iter 2338385.3521597134 ns/iter 0.99
Schema_Frame_ISO_Language_Locations_To_JSON 131509767.75000344 ns/iter 135588000.75000477 ns/iter 0.97
Schema_Tracker_ISO_Language 27093021.319997206 ns/iter 26597335.769229 ns/iter 1.02
Schema_Tracker_ISO_Language_To_JSON 23924871.655171484 ns/iter 22878255.290324446 ns/iter 1.05
Schema_Format_ISO_Language_To_JSON 109644515.1666785 ns/iter 105255353.49999397 ns/iter 1.04
Schema_Bundle_Meta_2020_12 1640439.5835273617 ns/iter 1642110.000000096 ns/iter 1.00
Schema_Frame_Many_Resources_References 362583665.5000398 ns/iter 355848981.9999977 ns/iter 1.02
Alterschema_Check_Readibility_ISO_Language_Set_3 216930619.33334926 ns/iter 213911619.9999762 ns/iter 1.01
Alterschema_Check_Readibility_OMC 32188250.136362676 ns/iter 31861504.22727575 ns/iter 1.01
Alterschema_Apply_Readibility_KrakenD 590037394.9999676 ns/iter 576896994.0000943 ns/iter 1.02
EditorSchema_ForEditor_EmbeddedResources 13459222.230770033 ns/iter 13315946.51923113 ns/iter 1.01
URITemplateRouter_Create 16326.246737075544 ns/iter 16658.463296121692 ns/iter 0.98
URITemplateRouter_Match 177.5967820613672 ns/iter 177.88896263466964 ns/iter 1.00
URITemplateRouterView_Restore 5063.348191186627 ns/iter 5071.948087471472 ns/iter 1.00
URITemplateRouterView_Match 146.2789922690155 ns/iter 118.3693022635662 ns/iter 1.24

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: 3781669 Previous: 5d5098c Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.069329464285683 ns/iter 3.064953571427712 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.874507989788788 ns/iter 2.8558406237249994 ns/iter 1.01
Regex_Period_Asterisk 3.2387915675611207 ns/iter 3.2378451613092074 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.052241000376129 ns/iter 3.0610272280428803 ns/iter 1.00
Regex_Period_Plus 3.529731556197576 ns/iter 3.527464279414991 ns/iter 1.00
Regex_Period 3.5301828508392132 ns/iter 3.5300443686961716 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.2314183035718917 ns/iter 3.263915178571608 ns/iter 0.99
Regex_Caret_Group_Period_Plus_Group_Dollar 2.942380867909076 ns/iter 2.9555899513989137 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 2.974961045122519 ns/iter 2.997358143306674 ns/iter 0.99
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.8587129897953387 ns/iter 2.8709409362176346 ns/iter 1.00
Regex_Caret_X_Hyphen 5.896142999999938 ns/iter 5.944650999999793 ns/iter 0.99
Regex_Period_Md_Dollar 30.70911160714372 ns/iter 33.72713802698595 ns/iter 0.91
Regex_Caret_Slash_Period_Asterisk 5.565252678571094 ns/iter 5.562008035714224 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 3.7066955290946293 ns/iter 3.472284056299601 ns/iter 1.07
Regex_Nested_Backtrack 88.52986607144382 ns/iter 88.0465407122011 ns/iter 1.01
JSON_Array_Of_Objects_Unique 413.53893749999315 ns/iter 407.43234341808386 ns/iter 1.01
JSON_Parse_1 8469.345982141822 ns/iter 8582.55454216961 ns/iter 0.99
JSON_Parse_Real 14653.44529711797 ns/iter 14728.380007235126 ns/iter 0.99
JSON_Parse_Decimal 16519.477678573123 ns/iter 16303.04910714285 ns/iter 1.01
JSON_Parse_Schema_ISO_Language 7462196.666665478 ns/iter 7020304.4444446685 ns/iter 1.06
JSON_Fast_Hash_Helm_Chart_Lock 50.30150999998568 ns/iter 50.15840178572262 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 239.0230714285378 ns/iter 243.76524065122987 ns/iter 0.98
JSON_Divisible_By_Decimal 1211.4214285714654 ns/iter 1249.951249999981 ns/iter 0.97
JSON_String_Equal/10 10.316892187500315 ns/iter 10.399473167858918 ns/iter 0.99
JSON_String_Equal/100 12.217758928573272 ns/iter 11.957946428574521 ns/iter 1.02
JSON_String_Equal_Small_By_Perfect_Hash/10 1.4673423207734726 ns/iter 1.4725595082709897 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 9.685620492475412 ns/iter 9.728698617280156 ns/iter 1.00
JSON_String_Fast_Hash/10 2.629623747652393 ns/iter 2.634652787826331 ns/iter 1.00
JSON_String_Fast_Hash/100 2.6392769396084073 ns/iter 2.65606321428647 ns/iter 0.99
JSON_String_Key_Hash/10 2.9340092397620046 ns/iter 2.9478519629703785 ns/iter 1.00
JSON_String_Key_Hash/100 13.841021589996208 ns/iter 13.861860205974754 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.2945508928575253 ns/iter 3.3055319137405164 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 4.783283046391215 ns/iter 4.856446216198345 ns/iter 0.98
JSON_Object_Defines_Miss_Too_Large 3.8539258859751784 ns/iter 3.859402343749453 ns/iter 1.00
Pointer_Object_Traverse 48.91254699387612 ns/iter 49.19292400093751 ns/iter 0.99
Pointer_Object_Try_Traverse 62.35799107143083 ns/iter 62.57821428572389 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 183.1733199261931 ns/iter 175.66657426342752 ns/iter 1.04
Pointer_Walker_Schema_ISO_Language 13351313.999996819 ns/iter 13298326.7857136 ns/iter 1.00
Schema_Frame_WoT_References 10143918.666669074 ns/iter 10204568.749998089 ns/iter 0.99
Schema_Frame_OMC_References 44221593.33331971 ns/iter 43757473.33333493 ns/iter 1.01
Schema_Frame_OMC_Locations 40711005.88235181 ns/iter 39340922.222221605 ns/iter 1.03
Schema_Frame_ISO_Language_Locations 195354233.33331892 ns/iter 192433200.00002012 ns/iter 1.02
Schema_Frame_KrakenD_References 87530977.77778547 ns/iter 96610514.28572266 ns/iter 0.91
Schema_Frame_KrakenD_Reachable 643728299.9997933 ns/iter 608997699.999918 ns/iter 1.06
Schema_Iterator_ISO_Language 5084326.999999575 ns/iter 4914512.413793561 ns/iter 1.03
Schema_Frame_ISO_Language_Locations_To_JSON 263191600.0000274 ns/iter 256686666.66661012 ns/iter 1.03
Schema_Tracker_ISO_Language 48185571.428559475 ns/iter 49222457.142848596 ns/iter 0.98
Schema_Tracker_ISO_Language_To_JSON 55025018.18182282 ns/iter 53330760.00001711 ns/iter 1.03
Schema_Format_ISO_Language_To_JSON 197952033.33349797 ns/iter 187130000.00002468 ns/iter 1.06
Schema_Bundle_Meta_2020_12 2763809.4696978 ns/iter 2715550.3787896303 ns/iter 1.02
Schema_Frame_Many_Resources_References 1418458300.000111 ns/iter 1364430100.0001633 ns/iter 1.04
Alterschema_Check_Readibility_ISO_Language_Set_3 308900350.00004447 ns/iter 300477699.99998766 ns/iter 1.03
Alterschema_Check_Readibility_OMC 61246845.4545375 ns/iter 59622190.90908795 ns/iter 1.03
Alterschema_Apply_Readibility_KrakenD 969943400.0001475 ns/iter 930333899.9998232 ns/iter 1.04
EditorSchema_ForEditor_EmbeddedResources 27306788.461522464 ns/iter 25993123.076939527 ns/iter 1.05
URITemplateRouter_Create 21859.050548426087 ns/iter 21679.959375006772 ns/iter 1.01
URITemplateRouter_Match 216.52798922675467 ns/iter 222.30808605766072 ns/iter 0.97
URITemplateRouterView_Restore 24088.08571428673 ns/iter 24710.503571424983 ns/iter 0.97
URITemplateRouterView_Match 158.08837665767481 ns/iter 147.60234374995613 ns/iter 1.07

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: 3781669 Previous: 5d5098c Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.8321494584495976 ns/iter 1.581223003046224 ns/iter 1.79
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.0239178138174303 ns/iter 1.581728627499588 ns/iter 1.28
Regex_Period_Asterisk 2.137118628064893 ns/iter 1.5783252309797584 ns/iter 1.35
Regex_Group_Period_Asterisk_Group 2.2028063630648207 ns/iter 1.61320258062935 ns/iter 1.37
Regex_Period_Plus 2.743065864949034 ns/iter 1.985506099660824 ns/iter 1.38
Regex_Period 2.588602934770055 ns/iter 1.9886808681610002 ns/iter 1.30
Regex_Caret_Period_Plus_Dollar 2.308751038793583 ns/iter 2.0084870301372884 ns/iter 1.15
Regex_Caret_Group_Period_Plus_Group_Dollar 2.2859577073362307 ns/iter 1.9923705890356758 ns/iter 1.15
Regex_Caret_Period_Asterisk_Dollar 1.8274167723494226 ns/iter 1.665640795410142 ns/iter 1.10
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.8808361428895584 ns/iter 1.6678958053845898 ns/iter 1.13
Regex_Caret_X_Hyphen 6.834227000274286 ns/iter 6.2742485063585995 ns/iter 1.09
Regex_Period_Md_Dollar 20.483324793246272 ns/iter 19.77856750724564 ns/iter 1.04
Regex_Caret_Slash_Period_Asterisk 5.042621249999684 ns/iter 5.348417089999202 ns/iter 0.94
Regex_Caret_Period_Range_Dollar 1.8608839410973268 ns/iter 1.6698590093037697 ns/iter 1.11
Regex_Nested_Backtrack 29.327584640625965 ns/iter 26.702841277368133 ns/iter 1.10
JSON_Array_Of_Objects_Unique 400.36885283666544 ns/iter 331.39180486455643 ns/iter 1.21
JSON_Parse_1 5287.432103907678 ns/iter 4063.961207121774 ns/iter 1.30
JSON_Parse_Real 9339.86180700209 ns/iter 5990.819261155493 ns/iter 1.56
JSON_Parse_Decimal 10683.375212220571 ns/iter 7506.692717124862 ns/iter 1.42
JSON_Parse_Schema_ISO_Language 4858557.4545454895 ns/iter 2939326.7276418554 ns/iter 1.65
JSON_Fast_Hash_Helm_Chart_Lock 79.78204090040782 ns/iter 54.43880645647346 ns/iter 1.47
JSON_Equality_Helm_Chart_Lock 174.3803920904365 ns/iter 118.80258445479203 ns/iter 1.47
JSON_Divisible_By_Decimal 623.5554653044614 ns/iter 392.0218137984391 ns/iter 1.59
JSON_String_Equal/10 10.01791851922478 ns/iter 5.999140711298086 ns/iter 1.67
JSON_String_Equal/100 9.555377662009905 ns/iter 5.991423731818041 ns/iter 1.59
JSON_String_Equal_Small_By_Perfect_Hash/10 1.2731458464598522 ns/iter 0.7531717807901387 ns/iter 1.69
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 5.328065355835205 ns/iter 3.309847753119076 ns/iter 1.61
JSON_String_Fast_Hash/10 3.572751867374784 ns/iter 2.368135213629349 ns/iter 1.51
JSON_String_Fast_Hash/100 2.861651175825079 ns/iter 1.9856250241374291 ns/iter 1.44
JSON_String_Key_Hash/10 2.009302462425076 ns/iter 1.326310272482452 ns/iter 1.51
JSON_String_Key_Hash/100 2.3888223199997634 ns/iter 2.2880037822579427 ns/iter 1.04
JSON_Object_Defines_Miss_Same_Length 2.5035365631258353 ns/iter 2.3490484005367924 ns/iter 1.07
JSON_Object_Defines_Miss_Too_Small 2.6292048734115236 ns/iter 2.372421857580327 ns/iter 1.11
JSON_Object_Defines_Miss_Too_Large 2.6136346987211763 ns/iter 2.223220661285686 ns/iter 1.18
Pointer_Object_Traverse 16.25421082969233 ns/iter 13.667303134119418 ns/iter 1.19
Pointer_Object_Try_Traverse 21.54904468108453 ns/iter 19.156310952713433 ns/iter 1.12
Pointer_Push_Back_Pointer_To_Weak_Pointer 159.0090361997733 ns/iter 145.293229437839 ns/iter 1.09
Pointer_Walker_Schema_ISO_Language 4828839.211538066 ns/iter 3617146.848649566 ns/iter 1.33
Schema_Frame_WoT_References 4895128.930817215 ns/iter 3970563.218391446 ns/iter 1.23
Schema_Frame_OMC_References 28800538.208334576 ns/iter 23753157.56249563 ns/iter 1.21
Schema_Frame_OMC_Locations 29592179.999999642 ns/iter 19406665.485712435 ns/iter 1.52
Schema_Frame_ISO_Language_Locations 99615722.16665596 ns/iter 71215099.99999489 ns/iter 1.40
Schema_Frame_KrakenD_References 62965616.59999043 ns/iter 42249914.235285625 ns/iter 1.49
Schema_Frame_KrakenD_Reachable 521744957.99999934 ns/iter 403491313.0000177 ns/iter 1.29
Schema_Iterator_ISO_Language 2887790.629893385 ns/iter 2068302.4126074584 ns/iter 1.40
Schema_Frame_ISO_Language_Locations_To_JSON 104865053.57139972 ns/iter 86420166.74997422 ns/iter 1.21
Schema_Tracker_ISO_Language 45850826.41665394 ns/iter 30403154.000000738 ns/iter 1.51
Schema_Tracker_ISO_Language_To_JSON 17555920.94872181 ns/iter 14399516.163263926 ns/iter 1.22
Schema_Format_ISO_Language_To_JSON 89946159.66666211 ns/iter 76742541.55553071 ns/iter 1.17
Schema_Bundle_Meta_2020_12 1680325.7948188654 ns/iter 1193633.2161263016 ns/iter 1.41
Schema_Frame_Many_Resources_References 348570562.4999582 ns/iter 253569944.33332148 ns/iter 1.37
Alterschema_Check_Readibility_ISO_Language_Set_3 167189145.99999833 ns/iter 137319008.4000271 ns/iter 1.22
Alterschema_Check_Readibility_OMC 35243029.7619083 ns/iter 27877224.999992903 ns/iter 1.26
Alterschema_Apply_Readibility_KrakenD 585541542.0001009 ns/iter 423246291.50004965 ns/iter 1.38
EditorSchema_ForEditor_EmbeddedResources 11346976.754111892 ns/iter 9241010.573320333 ns/iter 1.23
URITemplateRouter_Create 17028.878583473517 ns/iter 15105.359678144507 ns/iter 1.13
URITemplateRouter_Match 180.57472941859712 ns/iter 155.85185505034883 ns/iter 1.16
URITemplateRouterView_Restore 12687.222166496735 ns/iter 11553.841697497452 ns/iter 1.10
URITemplateRouterView_Match 128.72741118383368 ns/iter 107.3035511516769 ns/iter 1.20

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: 3781669 Previous: 5d5098c Ratio
URITemplateRouter_Create 14946.678668122815 ns/iter 15006.004538897063 ns/iter 1.00
URITemplateRouter_Match 158.8671065618836 ns/iter 158.91777368729615 ns/iter 1.00
URITemplateRouterView_Restore 6238.341961912464 ns/iter 6275.369334981276 ns/iter 0.99
URITemplateRouterView_Match 126.46902257321062 ns/iter 117.19861086276715 ns/iter 1.08
EditorSchema_ForEditor_EmbeddedResources 14154226.612246782 ns/iter 14158733.880012732 ns/iter 1.00
Alterschema_Check_Readibility_ISO_Language_Set_3 216313888.0000588 ns/iter 212225895.33332816 ns/iter 1.02
Alterschema_Check_Readibility_OMC 34478536.05000546 ns/iter 34384835.05000249 ns/iter 1.00
Alterschema_Apply_Readibility_KrakenD 592386884.0000068 ns/iter 594857559.9998094 ns/iter 1.00
Schema_Frame_WoT_References 5332574.145039392 ns/iter 5372380.5307701975 ns/iter 0.99
Schema_Frame_OMC_References 21939224.281247504 ns/iter 22050679.56249707 ns/iter 0.99
Schema_Frame_OMC_Locations 20094238.94286166 ns/iter 20417348.97058819 ns/iter 0.98
Schema_Frame_ISO_Language_Locations 103384332.50001346 ns/iter 103102654.71428335 ns/iter 1.00
Schema_Frame_KrakenD_References 40532336.99999189 ns/iter 39865534.1764692 ns/iter 1.02
Schema_Frame_KrakenD_Reachable 560671796.0001788 ns/iter 590245915.999958 ns/iter 0.95
Schema_Iterator_ISO_Language 2733685.9338521855 ns/iter 2742965.7098033275 ns/iter 1.00
Schema_Frame_ISO_Language_Locations_To_JSON 245903790.3333865 ns/iter 242913304.00001243 ns/iter 1.01
Schema_Tracker_ISO_Language 28935957.7083322 ns/iter 29186830.869568203 ns/iter 0.99
Schema_Tracker_ISO_Language_To_JSON 27832230.280000657 ns/iter 28162362.230773397 ns/iter 0.99
Schema_Format_ISO_Language_To_JSON 109274791.50007002 ns/iter 108598270.33338358 ns/iter 1.01
Schema_Bundle_Meta_2020_12 1880119.0916522837 ns/iter 1893893.05690625 ns/iter 0.99
Schema_Frame_Many_Resources_References 370623432.99999154 ns/iter 383025122.0000491 ns/iter 0.97
Pointer_Object_Traverse 27.55399060274511 ns/iter 26.099727574559257 ns/iter 1.06
Pointer_Object_Try_Traverse 27.23435435129436 ns/iter 27.394640032505535 ns/iter 0.99
Pointer_Push_Back_Pointer_To_Weak_Pointer 134.59409272559574 ns/iter 171.99625855790137 ns/iter 0.78
Pointer_Walker_Schema_ISO_Language 3470513.447761429 ns/iter 3519037.3535355357 ns/iter 0.99
JSON_Array_Of_Objects_Unique 431.0623259534851 ns/iter 383.11413958942427 ns/iter 1.13
JSON_Parse_1 8503.101394523199 ns/iter 8238.283681890738 ns/iter 1.03
JSON_Parse_Real 12676.958063405633 ns/iter 12320.624061217855 ns/iter 1.03
JSON_Parse_Decimal 18734.068734839344 ns/iter 18557.471988351695 ns/iter 1.01
JSON_Parse_Schema_ISO_Language 4663460.006666658 ns/iter 4678367.346665861 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 59.82571462465556 ns/iter 59.789998806994554 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 171.94697261894424 ns/iter 166.38822360128484 ns/iter 1.03
JSON_Divisible_By_Decimal 597.6737875658733 ns/iter 608.6142130796558 ns/iter 0.98
JSON_String_Equal/10 7.2419498491782655 ns/iter 6.3025978970956436 ns/iter 1.15
JSON_String_Equal/100 6.925493840803375 ns/iter 6.926895961417348 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6228770712800913 ns/iter 0.6228474053392458 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 13.462739128268007 ns/iter 13.491992530415231 ns/iter 1.00
JSON_String_Fast_Hash/10 1.9071859426516127 ns/iter 1.9040834972963958 ns/iter 1.00
JSON_String_Fast_Hash/100 1.9061574840835032 ns/iter 2.0326215970156083 ns/iter 0.94
JSON_String_Key_Hash/10 1.2459899446078357 ns/iter 1.2601182154344412 ns/iter 0.99
JSON_String_Key_Hash/100 12.439587608503041 ns/iter 12.42268004449478 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.425905516050586 ns/iter 3.422118963386557 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.4216539487726236 ns/iter 3.4190191451371192 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.4215513941626514 ns/iter 3.4418896558118823 ns/iter 0.99
Regex_Lower_S_Or_Upper_S_Asterisk 3.1111905997658296 ns/iter 3.1108236916975542 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.111194937109764 ns/iter 3.108624796622564 ns/iter 1.00
Regex_Period_Asterisk 3.1105504389277105 ns/iter 3.108570330467583 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.114067203393328 ns/iter 3.109741673125842 ns/iter 1.00
Regex_Period_Plus 2.8021193097375097 ns/iter 3.111512568457738 ns/iter 0.90
Regex_Period 2.800428388202815 ns/iter 3.1103831971607345 ns/iter 0.90
Regex_Caret_Period_Plus_Dollar 2.799837324607169 ns/iter 3.109857716148521 ns/iter 0.90
Regex_Caret_Group_Period_Plus_Group_Dollar 2.799035641592267 ns/iter 3.1105869741413605 ns/iter 0.90
Regex_Caret_Period_Asterisk_Dollar 3.1116071692369855 ns/iter 3.1100579605344634 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.1115702638385065 ns/iter 3.109373951984203 ns/iter 1.00
Regex_Caret_X_Hyphen 8.096774729075232 ns/iter 13.678564376854554 ns/iter 0.59
Regex_Period_Md_Dollar 36.1570970034115 ns/iter 34.871682628405395 ns/iter 1.04
Regex_Caret_Slash_Period_Asterisk 7.774016851355644 ns/iter 8.082403742124823 ns/iter 0.96
Regex_Caret_Period_Range_Dollar 4.04165412661355 ns/iter 3.1095437177379 ns/iter 1.30
Regex_Nested_Backtrack 57.69245735420902 ns/iter 56.20935524431301 ns/iter 1.03

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

@jviotti jviotti merged commit 84c6f45 into main Feb 24, 2026
12 checks passed
@jviotti jviotti deleted the fuzz-router-view branch February 24, 2026 20:48
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