Allow querying the number of routes in URITemplateRouter#2339
Conversation
Signed-off-by: Juan Cruz Viotti <[email protected]>
🤖 Augment PR SummarySummary: This PR adds the ability to query how many routes are registered in a Changes:
Technical Notes: Route identifiers use 🤖 Was this summary useful? React with 👍 or 👎 |
| return 0; | ||
| } | ||
|
|
||
| if (header->node_count == 0 || |
There was a problem hiding this comment.
URITemplateRouterView::size() only bounds-checks node_count against the total buffer size, but doesn’t validate string_table_offset/arguments_offset like match()/base_path() do. On a partially corrupt blob where node_count overlaps the string table, size() could return a non-zero count even though the view should be considered invalid.
Severity: low
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| EXPECT_EQ(captures.size(), 0); | ||
| } | ||
|
|
||
| TEST_F(URITemplateRouterViewTest, size_empty_router) { |
There was a problem hiding this comment.
The new URITemplateRouterView::size() tests cover empty/single/multiple/duplicate/base-path cases, but don’t cover root-template (router.add("", ...)) or context-overwrite scenarios. Adding those would help ensure the serialized view’s count stays aligned with URITemplateRouter::size() for these edge cases.
Severity: low
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
There was a problem hiding this comment.
Benchmark (linux/llvm)
Details
| Benchmark suite | Current: 8c240df | Previous: c91f056 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
3.5191575211365773 ns/iter |
3.1162638596690204 ns/iter |
1.13 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
3.515981681529928 ns/iter |
3.1118138685902053 ns/iter |
1.13 |
Regex_Period_Asterisk |
3.5157202926563307 ns/iter |
3.1110339315365225 ns/iter |
1.13 |
Regex_Group_Period_Asterisk_Group |
3.5187127634255737 ns/iter |
3.1121641277709626 ns/iter |
1.13 |
Regex_Period_Plus |
3.9214303753322843 ns/iter |
3.1057304452289127 ns/iter |
1.26 |
Regex_Period |
3.8676790089810087 ns/iter |
2.9059350623410998 ns/iter |
1.33 |
Regex_Caret_Period_Plus_Dollar |
3.869140735854321 ns/iter |
3.0822628199144186 ns/iter |
1.26 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.868390404175844 ns/iter |
3.114174773516786 ns/iter |
1.24 |
Regex_Caret_Period_Asterisk_Dollar |
3.511177596397031 ns/iter |
3.1135700020824943 ns/iter |
1.13 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
3.518364978533931 ns/iter |
3.1188914386164512 ns/iter |
1.13 |
Regex_Caret_X_Hyphen |
11.953729351377097 ns/iter |
13.068954374870795 ns/iter |
0.91 |
Regex_Period_Md_Dollar |
26.37563334618461 ns/iter |
27.68690426097258 ns/iter |
0.95 |
Regex_Caret_Slash_Period_Asterisk |
7.518448309725621 ns/iter |
5.916033059146517 ns/iter |
1.27 |
Regex_Caret_Period_Range_Dollar |
3.9231061767757094 ns/iter |
3.1130184970917143 ns/iter |
1.26 |
Regex_Nested_Backtrack |
46.71752733488522 ns/iter |
49.35604189925769 ns/iter |
0.95 |
JSON_Array_Of_Objects_Unique |
421.2141905557489 ns/iter |
405.4028655055857 ns/iter |
1.04 |
JSON_Parse_1 |
5848.678474932939 ns/iter |
5985.8121641949265 ns/iter |
0.98 |
JSON_Parse_Real |
10393.332358419244 ns/iter |
10851.647942046013 ns/iter |
0.96 |
JSON_Parse_Decimal |
11336.783181969495 ns/iter |
11692.505404416072 ns/iter |
0.97 |
JSON_Parse_Schema_ISO_Language |
3659780.0937503423 ns/iter |
3596322.360824592 ns/iter |
1.02 |
JSON_Fast_Hash_Helm_Chart_Lock |
65.0584599347264 ns/iter |
61.00173707220628 ns/iter |
1.07 |
JSON_Equality_Helm_Chart_Lock |
171.3704742842593 ns/iter |
165.0493584725354 ns/iter |
1.04 |
JSON_Divisible_By_Decimal |
239.08211732382912 ns/iter |
245.88627087993706 ns/iter |
0.97 |
JSON_String_Equal/10 |
5.9792142687156105 ns/iter |
6.2318417796709 ns/iter |
0.96 |
JSON_String_Equal/100 |
6.68306807819668 ns/iter |
6.85693231580348 ns/iter |
0.97 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.055257264849484 ns/iter |
0.9357323845825224 ns/iter |
1.13 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
12.33716197680453 ns/iter |
14.621472241760618 ns/iter |
0.84 |
JSON_String_Fast_Hash/10 |
2.4650383119463948 ns/iter |
2.8011263067351266 ns/iter |
0.88 |
JSON_String_Fast_Hash/100 |
2.4623714268502073 ns/iter |
2.8014672881950102 ns/iter |
0.88 |
JSON_String_Key_Hash/10 |
2.4623216561274064 ns/iter |
2.5568190779098394 ns/iter |
0.96 |
JSON_String_Key_Hash/100 |
7.732451279352386 ns/iter |
9.081371582363145 ns/iter |
0.85 |
JSON_Object_Defines_Miss_Same_Length |
4.222548017652856 ns/iter |
3.7378510209869047 ns/iter |
1.13 |
JSON_Object_Defines_Miss_Too_Small |
4.2231491474130936 ns/iter |
3.739650577964637 ns/iter |
1.13 |
JSON_Object_Defines_Miss_Too_Large |
4.234512665488701 ns/iter |
3.7386570661719354 ns/iter |
1.13 |
Pointer_Object_Traverse |
27.358976769526322 ns/iter |
25.177906966127953 ns/iter |
1.09 |
Pointer_Object_Try_Traverse |
29.722161360109673 ns/iter |
28.29936184914076 ns/iter |
1.05 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
175.92893517121126 ns/iter |
174.9345831289165 ns/iter |
1.01 |
Pointer_Walker_Schema_ISO_Language |
3274251.8232558975 ns/iter |
3048874.5844153035 ns/iter |
1.07 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1382093.0098232257 ns/iter |
1476596.3556487518 ns/iter |
0.94 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1701243.768115946 ns/iter |
1783212.835897384 ns/iter |
0.95 |
Pointer_Position_Tracker_Get_Deeply_Nested |
549.1289266266995 ns/iter |
656.0137495855189 ns/iter |
0.84 |
Schema_Frame_WoT_References |
5247799.992537918 ns/iter |
5137798.05797175 ns/iter |
1.02 |
Schema_Frame_OMC_References |
21677334.281250183 ns/iter |
22306632.666665353 ns/iter |
0.97 |
Schema_Frame_OMC_Locations |
20102192.88571469 ns/iter |
20020418.055556398 ns/iter |
1.00 |
Schema_Frame_ISO_Language_Locations |
100801064.8333387 ns/iter |
101716005.16667922 ns/iter |
0.99 |
Schema_Frame_KrakenD_References |
40137212.88235421 ns/iter |
40204897.176469035 ns/iter |
1.00 |
Schema_Frame_KrakenD_Reachable |
600305121.0000194 ns/iter |
591335917.0000377 ns/iter |
1.02 |
Schema_Iterator_ISO_Language |
2405191.4776630043 ns/iter |
2253984.2596154213 ns/iter |
1.07 |
Schema_Frame_ISO_Language_Locations_To_JSON |
115852892.79998961 ns/iter |
110316783.40000327 ns/iter |
1.05 |
Schema_Tracker_ISO_Language |
4851440.92465751 ns/iter |
4903759.513888575 ns/iter |
0.99 |
Schema_Tracker_ISO_Language_To_JSON |
18633457.000001308 ns/iter |
19950575.194444455 ns/iter |
0.93 |
Schema_Format_ISO_Language_To_JSON |
107982983.16666432 ns/iter |
107325876.16665037 ns/iter |
1.01 |
Schema_Bundle_Meta_2020_12 |
1674978.408116578 ns/iter |
1662057.9739331969 ns/iter |
1.01 |
Schema_Frame_Many_Resources_References |
381248266.9999895 ns/iter |
378767375.49999005 ns/iter |
1.01 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
207372788.66666505 ns/iter |
217383906.99999854 ns/iter |
0.95 |
Alterschema_Check_Readibility_OMC |
34241759.05000197 ns/iter |
33675574.23809688 ns/iter |
1.02 |
Alterschema_Apply_Readibility_KrakenD |
582050390.9999388 ns/iter |
597859258.9999608 ns/iter |
0.97 |
Alterschema_Check_Invalid_External_Refs |
113751048.83332671 ns/iter |
118993460.49998863 ns/iter |
0.96 |
EditorSchema_ForEditor_EmbeddedResources |
14090387.13999962 ns/iter |
13642374.058824372 ns/iter |
1.03 |
URITemplateRouter_Create |
15141.52311922939 ns/iter |
16542.547363861806 ns/iter |
0.92 |
URITemplateRouter_Match |
182.58550896479488 ns/iter |
175.3842720138154 ns/iter |
1.04 |
URITemplateRouter_Match_BasePath |
217.34583790380236 ns/iter |
202.67810581452383 ns/iter |
1.07 |
URITemplateRouterView_Restore |
6366.285637203404 ns/iter |
5118.846064571062 ns/iter |
1.24 |
URITemplateRouterView_Match |
158.1176798501773 ns/iter |
149.14850694322843 ns/iter |
1.06 |
URITemplateRouterView_Match_BasePath |
177.28289826173966 ns/iter |
166.21589672165746 ns/iter |
1.07 |
URITemplateRouterView_Arguments |
479.45783881436415 ns/iter |
475.14791387421013 ns/iter |
1.01 |
HTML_Build_Table_100000 |
87388072.37499203 ns/iter |
63094282.27272788 ns/iter |
1.39 |
HTML_Render_Table_100000 |
4888482.524475793 ns/iter |
5321073.534350978 ns/iter |
0.92 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (macos/llvm)
Details
| Benchmark suite | Current: 8c240df | Previous: c91f056 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.232328736064591 ns/iter |
2.1088311246916387 ns/iter |
1.06 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.2997510279554785 ns/iter |
2.1300671208192234 ns/iter |
1.08 |
Regex_Period_Asterisk |
2.3043603893021145 ns/iter |
1.8564937103796373 ns/iter |
1.24 |
Regex_Group_Period_Asterisk_Group |
2.4178480363108217 ns/iter |
2.356859482418569 ns/iter |
1.03 |
Regex_Period_Plus |
2.703795393541993 ns/iter |
2.602944493765998 ns/iter |
1.04 |
Regex_Period |
2.8134621332267447 ns/iter |
2.8373108353259315 ns/iter |
0.99 |
Regex_Caret_Period_Plus_Dollar |
2.641215829783445 ns/iter |
2.5595943532915175 ns/iter |
1.03 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.740844386417399 ns/iter |
2.4172798314941706 ns/iter |
1.13 |
Regex_Caret_Period_Asterisk_Dollar |
2.238524942956282 ns/iter |
1.889146725379356 ns/iter |
1.18 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.2607920863182853 ns/iter |
1.7362734036549257 ns/iter |
1.30 |
Regex_Caret_X_Hyphen |
8.391706640234716 ns/iter |
7.6934995893027365 ns/iter |
1.09 |
Regex_Period_Md_Dollar |
26.848578003021494 ns/iter |
21.9925528908887 ns/iter |
1.22 |
Regex_Caret_Slash_Period_Asterisk |
5.987214094653972 ns/iter |
5.280183750001015 ns/iter |
1.13 |
Regex_Caret_Period_Range_Dollar |
2.402545733613937 ns/iter |
2.0589424340227005 ns/iter |
1.17 |
Regex_Nested_Backtrack |
34.10529711300428 ns/iter |
26.925596172540455 ns/iter |
1.27 |
JSON_Array_Of_Objects_Unique |
527.0986878944337 ns/iter |
385.5567468505758 ns/iter |
1.37 |
JSON_Parse_1 |
6771.025474616451 ns/iter |
4187.881418402051 ns/iter |
1.62 |
JSON_Parse_Real |
9787.60841748027 ns/iter |
9285.089511771557 ns/iter |
1.05 |
JSON_Parse_Decimal |
11987.692032659244 ns/iter |
11240.562713453197 ns/iter |
1.07 |
JSON_Parse_Schema_ISO_Language |
6113767.791667613 ns/iter |
5566755.626984689 ns/iter |
1.10 |
JSON_Fast_Hash_Helm_Chart_Lock |
81.16817931512291 ns/iter |
75.92328924630942 ns/iter |
1.07 |
JSON_Equality_Helm_Chart_Lock |
173.86606930631066 ns/iter |
169.1125640112206 ns/iter |
1.03 |
JSON_Divisible_By_Decimal |
281.76416084314707 ns/iter |
204.16253638910558 ns/iter |
1.38 |
JSON_String_Equal/10 |
8.339725303293124 ns/iter |
8.343934548058748 ns/iter |
1.00 |
JSON_String_Equal/100 |
9.119459971147856 ns/iter |
7.549490241658614 ns/iter |
1.21 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.0118716681218816 ns/iter |
0.8720876526944517 ns/iter |
1.16 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
4.5491307739923394 ns/iter |
3.818609702397438 ns/iter |
1.19 |
JSON_String_Fast_Hash/10 |
3.343393145633747 ns/iter |
2.730360544601593 ns/iter |
1.22 |
JSON_String_Fast_Hash/100 |
2.814641327006439 ns/iter |
2.573302735838817 ns/iter |
1.09 |
JSON_String_Key_Hash/10 |
1.8613047508016436 ns/iter |
1.9860604794738563 ns/iter |
0.94 |
JSON_String_Key_Hash/100 |
3.0881808849952135 ns/iter |
3.7496771462551366 ns/iter |
0.82 |
JSON_Object_Defines_Miss_Same_Length |
3.799827924017722 ns/iter |
2.8380192998852727 ns/iter |
1.34 |
JSON_Object_Defines_Miss_Too_Small |
2.9638641926325158 ns/iter |
3.5047296281415887 ns/iter |
0.85 |
JSON_Object_Defines_Miss_Too_Large |
3.097465148583176 ns/iter |
2.76528844357432 ns/iter |
1.12 |
Pointer_Object_Traverse |
21.09223008232047 ns/iter |
19.360127322221445 ns/iter |
1.09 |
Pointer_Object_Try_Traverse |
27.476296171341698 ns/iter |
27.885258287759484 ns/iter |
0.99 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
191.81987128972014 ns/iter |
188.40243530386758 ns/iter |
1.02 |
Pointer_Walker_Schema_ISO_Language |
6218341.5948272245 ns/iter |
5567550.204918767 ns/iter |
1.12 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1424741.1277779064 ns/iter |
2078290.7172675824 ns/iter |
0.69 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
2040375.890243656 ns/iter |
2965294.8207170544 ns/iter |
0.69 |
Pointer_Position_Tracker_Get_Deeply_Nested |
435.02633121310055 ns/iter |
507.8081319964636 ns/iter |
0.86 |
Schema_Frame_WoT_References |
6556852.500000332 ns/iter |
5618958.711711703 ns/iter |
1.17 |
Schema_Frame_OMC_References |
38363821.72221419 ns/iter |
32170317.307698216 ns/iter |
1.19 |
Schema_Frame_OMC_Locations |
33927629.20000223 ns/iter |
27079736.111116085 ns/iter |
1.25 |
Schema_Frame_ISO_Language_Locations |
116362569.49998368 ns/iter |
86220988.14284332 ns/iter |
1.35 |
Schema_Frame_KrakenD_References |
70899222.22222513 ns/iter |
51553879.19999157 ns/iter |
1.38 |
Schema_Frame_KrakenD_Reachable |
662837416.0000021 ns/iter |
542859750.9999236 ns/iter |
1.22 |
Schema_Iterator_ISO_Language |
2534042.000000061 ns/iter |
2244220.2404179545 ns/iter |
1.13 |
Schema_Frame_ISO_Language_Locations_To_JSON |
125608958.25004081 ns/iter |
95697964.28572121 ns/iter |
1.31 |
Schema_Tracker_ISO_Language |
14434562.500003355 ns/iter |
10490382.508194553 ns/iter |
1.38 |
Schema_Tracker_ISO_Language_To_JSON |
21002642.48387277 ns/iter |
15107533.70213082 ns/iter |
1.39 |
Schema_Format_ISO_Language_To_JSON |
110558347.50004578 ns/iter |
83307601.66664833 ns/iter |
1.33 |
Schema_Bundle_Meta_2020_12 |
2008479.1341031056 ns/iter |
1876761.9386720373 ns/iter |
1.07 |
Schema_Frame_Many_Resources_References |
529378458.0001102 ns/iter |
380086062.5000269 ns/iter |
1.39 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
215304937.4999796 ns/iter |
188115656.24997684 ns/iter |
1.14 |
Alterschema_Check_Readibility_OMC |
48758347.2499864 ns/iter |
39142474.50000453 ns/iter |
1.25 |
Alterschema_Apply_Readibility_KrakenD |
668916124.999896 ns/iter |
672681832.9998423 ns/iter |
0.99 |
Alterschema_Check_Invalid_External_Refs |
98029607.1428646 ns/iter |
109197385.37501189 ns/iter |
0.90 |
EditorSchema_ForEditor_EmbeddedResources |
15764346.545464294 ns/iter |
13954159.280006025 ns/iter |
1.13 |
URITemplateRouter_Create |
21568.048586304976 ns/iter |
20275.55285005555 ns/iter |
1.06 |
URITemplateRouter_Match |
200.36815272967448 ns/iter |
195.90725420267543 ns/iter |
1.02 |
URITemplateRouter_Match_BasePath |
253.97866954342976 ns/iter |
212.84812341317405 ns/iter |
1.19 |
URITemplateRouterView_Restore |
21249.456147593228 ns/iter |
16576.261139728835 ns/iter |
1.28 |
URITemplateRouterView_Match |
186.63158334419836 ns/iter |
143.85623096630616 ns/iter |
1.30 |
URITemplateRouterView_Match_BasePath |
194.4736127702187 ns/iter |
164.1822539094045 ns/iter |
1.18 |
URITemplateRouterView_Arguments |
566.8752953265603 ns/iter |
470.6728102418752 ns/iter |
1.20 |
HTML_Build_Table_100000 |
90309906.25001323 ns/iter |
75265018.44444686 ns/iter |
1.20 |
HTML_Render_Table_100000 |
6007143.061947519 ns/iter |
5473661.243903609 ns/iter |
1.10 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (windows/msvc)
Details
| Benchmark suite | Current: 8c240df | Previous: c91f056 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
4.258561480819156 ns/iter |
4.276614375000065 ns/iter |
1.00 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
4.330989374999206 ns/iter |
4.273938058036363 ns/iter |
1.01 |
Regex_Period_Asterisk |
4.404055212400002 ns/iter |
3.9192249999999262 ns/iter |
1.12 |
Regex_Group_Period_Asterisk_Group |
4.26568841327393 ns/iter |
3.556290663292275 ns/iter |
1.20 |
Regex_Period_Plus |
4.317492686280605 ns/iter |
3.8249045758931284 ns/iter |
1.13 |
Regex_Period |
4.2285736588252965 ns/iter |
3.837660944353145 ns/iter |
1.10 |
Regex_Caret_Period_Plus_Dollar |
4.05093174830495 ns/iter |
4.2541175873857835 ns/iter |
0.95 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.835975006850762 ns/iter |
4.259451292741467 ns/iter |
0.90 |
Regex_Caret_Period_Asterisk_Dollar |
4.296543145402672 ns/iter |
3.576389725756051 ns/iter |
1.20 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
4.20045689544671 ns/iter |
3.576285618614536 ns/iter |
1.17 |
Regex_Caret_X_Hyphen |
7.734579241070857 ns/iter |
6.945821428571618 ns/iter |
1.11 |
Regex_Period_Md_Dollar |
35.747334120486336 ns/iter |
34.442665347185425 ns/iter |
1.04 |
Regex_Caret_Slash_Period_Asterisk |
7.513588169644996 ns/iter |
6.545611607144 ns/iter |
1.15 |
Regex_Caret_Period_Range_Dollar |
4.286607386480189 ns/iter |
3.9144005287252464 ns/iter |
1.10 |
Regex_Nested_Backtrack |
95.8805850053296 ns/iter |
85.53659885996478 ns/iter |
1.12 |
JSON_Array_Of_Objects_Unique |
520.2405357142734 ns/iter |
545.9080357143519 ns/iter |
0.95 |
JSON_Parse_1 |
8169.531249999957 ns/iter |
7754.694196428095 ns/iter |
1.05 |
JSON_Parse_Real |
16694.60044642587 ns/iter |
13877.11438788281 ns/iter |
1.20 |
JSON_Parse_Decimal |
15881.051339289139 ns/iter |
14859.133928573392 ns/iter |
1.07 |
JSON_Parse_Schema_ISO_Language |
6518645.53571256 ns/iter |
6533316.964285924 ns/iter |
1.00 |
JSON_Fast_Hash_Helm_Chart_Lock |
70.30453125000946 ns/iter |
75.10520089287606 ns/iter |
0.94 |
JSON_Equality_Helm_Chart_Lock |
254.5092857142858 ns/iter |
284.8296971058645 ns/iter |
0.89 |
JSON_Divisible_By_Decimal |
248.50624999999127 ns/iter |
256.9692034360724 ns/iter |
0.97 |
JSON_String_Equal/10 |
12.22683750000085 ns/iter |
11.704243749999677 ns/iter |
1.04 |
JSON_String_Equal/100 |
12.890566071425674 ns/iter |
13.155882530551432 ns/iter |
0.98 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.8798066981063757 ns/iter |
2.068864285714004 ns/iter |
0.91 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
12.538187220809776 ns/iter |
11.396429687501097 ns/iter |
1.10 |
JSON_String_Fast_Hash/10 |
3.7603344575703797 ns/iter |
3.948288623122566 ns/iter |
0.95 |
JSON_String_Fast_Hash/100 |
3.7608514218559974 ns/iter |
3.9459771205357135 ns/iter |
0.95 |
JSON_String_Key_Hash/10 |
4.0804545162148305 ns/iter |
3.9067628348212122 ns/iter |
1.04 |
JSON_String_Key_Hash/100 |
16.892041851167225 ns/iter |
17.04551640371479 ns/iter |
0.99 |
JSON_Object_Defines_Miss_Same_Length |
5.018380000001343 ns/iter |
5.025438392857089 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
3.770779278980666 ns/iter |
3.9494905427669758 ns/iter |
0.95 |
JSON_Object_Defines_Miss_Too_Large |
3.76861981469957 ns/iter |
3.877945870534662 ns/iter |
0.97 |
Pointer_Object_Traverse |
41.087603228854334 ns/iter |
43.23816307908284 ns/iter |
0.95 |
Pointer_Object_Try_Traverse |
50.070129999994606 ns/iter |
54.48549107143209 ns/iter |
0.92 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
177.58671278485784 ns/iter |
160.46149553571152 ns/iter |
1.11 |
Pointer_Walker_Schema_ISO_Language |
13168550.000000322 ns/iter |
13709530.000000997 ns/iter |
0.96 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
2022017.0568566127 ns/iter |
2117455.0000003884 ns/iter |
0.95 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
3280762.745097999 ns/iter |
3065381.2499993807 ns/iter |
1.07 |
Pointer_Position_Tracker_Get_Deeply_Nested |
611.7602955274269 ns/iter |
623.8561383928547 ns/iter |
0.98 |
Schema_Frame_WoT_References |
10631151.56250305 ns/iter |
10354840.624998474 ns/iter |
1.03 |
Schema_Frame_OMC_References |
48998593.333332494 ns/iter |
45709653.3333394 ns/iter |
1.07 |
Schema_Frame_OMC_Locations |
46224382.35294205 ns/iter |
42119688.23528878 ns/iter |
1.10 |
Schema_Frame_ISO_Language_Locations |
231780633.33330104 ns/iter |
224485999.99999413 ns/iter |
1.03 |
Schema_Frame_KrakenD_References |
97151683.33332258 ns/iter |
97662142.8571564 ns/iter |
0.99 |
Schema_Frame_KrakenD_Reachable |
578008699.9998275 ns/iter |
546102599.9998128 ns/iter |
1.06 |
Schema_Iterator_ISO_Language |
5563870.999999382 ns/iter |
5299881.000000823 ns/iter |
1.05 |
Schema_Frame_ISO_Language_Locations_To_JSON |
305570700.00008935 ns/iter |
323586100.0000568 ns/iter |
0.94 |
Schema_Tracker_ISO_Language |
17808478.378380667 ns/iter |
16245668.88888997 ns/iter |
1.10 |
Schema_Tracker_ISO_Language_To_JSON |
53395120.00000468 ns/iter |
52621381.81817797 ns/iter |
1.01 |
Schema_Format_ISO_Language_To_JSON |
215883866.66667247 ns/iter |
210520233.3334546 ns/iter |
1.03 |
Schema_Bundle_Meta_2020_12 |
2979106.355943736 ns/iter |
2851345.7627065876 ns/iter |
1.04 |
Schema_Frame_Many_Resources_References |
1589580600.0000904 ns/iter |
1480939099.9998868 ns/iter |
1.07 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
349166050.000008 ns/iter |
329893699.9999569 ns/iter |
1.06 |
Alterschema_Check_Readibility_OMC |
63831263.63636455 ns/iter |
63739280.00000433 ns/iter |
1.00 |
Alterschema_Apply_Readibility_KrakenD |
1073275299.9999775 ns/iter |
1079507699.9997945 ns/iter |
0.99 |
Alterschema_Check_Invalid_External_Refs |
150432700.0000103 ns/iter |
145216179.99998853 ns/iter |
1.04 |
EditorSchema_ForEditor_EmbeddedResources |
29544609.090914324 ns/iter |
30941522.72728934 ns/iter |
0.95 |
URITemplateRouter_Create |
22124.434995140058 ns/iter |
20938.381249997918 ns/iter |
1.06 |
URITemplateRouter_Match |
207.48396874999742 ns/iter |
211.3280195835344 ns/iter |
0.98 |
URITemplateRouter_Match_BasePath |
240.75770750467245 ns/iter |
244.64782983842036 ns/iter |
0.98 |
URITemplateRouterView_Restore |
32269.58035714996 ns/iter |
24864.40357142783 ns/iter |
1.30 |
URITemplateRouterView_Match |
150.1385714285724 ns/iter |
152.4260714285321 ns/iter |
0.98 |
URITemplateRouterView_Match_BasePath |
175.34299779851045 ns/iter |
175.19195369587277 ns/iter |
1.00 |
URITemplateRouterView_Arguments |
484.7730546367068 ns/iter |
451.79975000010586 ns/iter |
1.07 |
HTML_Build_Table_100000 |
86879666.66666904 ns/iter |
93178185.71428558 ns/iter |
0.93 |
HTML_Render_Table_100000 |
8019577.777779179 ns/iter |
8246187.999999771 ns/iter |
0.97 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (linux/gcc)
Details
| Benchmark suite | Current: 8c240df | Previous: c91f056 | Ratio |
|---|---|---|---|
HTML_Build_Table_100000 |
62631929.45454483 ns/iter |
69350056.20000538 ns/iter |
0.90 |
HTML_Render_Table_100000 |
5202448.843282473 ns/iter |
4982889.000001196 ns/iter |
1.04 |
URITemplateRouter_Create |
14561.140420055239 ns/iter |
14172.678039837336 ns/iter |
1.03 |
URITemplateRouter_Match |
217.73500504418246 ns/iter |
169.25987163448661 ns/iter |
1.29 |
URITemplateRouter_Match_BasePath |
248.97667812659466 ns/iter |
203.7709140846599 ns/iter |
1.22 |
URITemplateRouterView_Restore |
6679.946764198962 ns/iter |
6505.002875144644 ns/iter |
1.03 |
URITemplateRouterView_Match |
133.90364927003722 ns/iter |
133.06015266799974 ns/iter |
1.01 |
URITemplateRouterView_Match_BasePath |
156.91599895950918 ns/iter |
151.71250568933516 ns/iter |
1.03 |
URITemplateRouterView_Arguments |
489.52425260716973 ns/iter |
460.75936184048305 ns/iter |
1.06 |
EditorSchema_ForEditor_EmbeddedResources |
14061309.599997003 ns/iter |
14151998.612259358 ns/iter |
0.99 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
209214365.99996924 ns/iter |
206593680.66662863 ns/iter |
1.01 |
Alterschema_Check_Readibility_OMC |
34390449.57142522 ns/iter |
34772537.44999871 ns/iter |
0.99 |
Alterschema_Apply_Readibility_KrakenD |
598619311.9999825 ns/iter |
568953510.0000285 ns/iter |
1.05 |
Alterschema_Check_Invalid_External_Refs |
122842265.33332306 ns/iter |
114002624.16668738 ns/iter |
1.08 |
Schema_Frame_WoT_References |
5374415.576922659 ns/iter |
5487713.4453121815 ns/iter |
0.98 |
Schema_Frame_OMC_References |
22364287.5806461 ns/iter |
23086348.433336448 ns/iter |
0.97 |
Schema_Frame_OMC_Locations |
20790330.55882546 ns/iter |
21154942.63636141 ns/iter |
0.98 |
Schema_Frame_ISO_Language_Locations |
102535065.42858304 ns/iter |
100462963.57141468 ns/iter |
1.02 |
Schema_Frame_KrakenD_References |
41087834.70587696 ns/iter |
40512121.11764524 ns/iter |
1.01 |
Schema_Frame_KrakenD_Reachable |
553392767.0001049 ns/iter |
579678973.9999895 ns/iter |
0.95 |
Schema_Iterator_ISO_Language |
2578753.9003688185 ns/iter |
2431804.931159215 ns/iter |
1.06 |
Schema_Frame_ISO_Language_Locations_To_JSON |
210487436.33339956 ns/iter |
230901088.33336368 ns/iter |
0.91 |
Schema_Tracker_ISO_Language |
4898832.902097739 ns/iter |
4822825.136055262 ns/iter |
1.02 |
Schema_Tracker_ISO_Language_To_JSON |
22772239.41935576 ns/iter |
22090893.562499046 ns/iter |
1.03 |
Schema_Format_ISO_Language_To_JSON |
109199241.16668274 ns/iter |
110507982.3333502 ns/iter |
0.99 |
Schema_Bundle_Meta_2020_12 |
1794032.948587149 ns/iter |
1771726.7898752894 ns/iter |
1.01 |
Schema_Frame_Many_Resources_References |
376414794.49996495 ns/iter |
387103025.99997705 ns/iter |
0.97 |
Pointer_Object_Traverse |
26.07813915640491 ns/iter |
27.015600889163764 ns/iter |
0.97 |
Pointer_Object_Try_Traverse |
27.311940287165758 ns/iter |
26.785339658327224 ns/iter |
1.02 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
159.06453206003806 ns/iter |
185.50787595020148 ns/iter |
0.86 |
Pointer_Walker_Schema_ISO_Language |
3369086.3062200667 ns/iter |
3645084.74619359 ns/iter |
0.92 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1592908.3908048044 ns/iter |
1500248.9913788668 ns/iter |
1.06 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1864112.5952378856 ns/iter |
1725320.9478910659 ns/iter |
1.08 |
Pointer_Position_Tracker_Get_Deeply_Nested |
416.52943695842714 ns/iter |
448.5697652113806 ns/iter |
0.93 |
JSON_Array_Of_Objects_Unique |
414.20100885755306 ns/iter |
413.6729643710765 ns/iter |
1.00 |
JSON_Parse_1 |
7971.473775747617 ns/iter |
7718.061724331383 ns/iter |
1.03 |
JSON_Parse_Real |
12326.895292466888 ns/iter |
12080.956196324021 ns/iter |
1.02 |
JSON_Parse_Decimal |
18595.245906005694 ns/iter |
16929.4528260839 ns/iter |
1.10 |
JSON_Parse_Schema_ISO_Language |
4670962.486666213 ns/iter |
4659035.450330768 ns/iter |
1.00 |
JSON_Fast_Hash_Helm_Chart_Lock |
72.53044657839983 ns/iter |
55.24907639104165 ns/iter |
1.31 |
JSON_Equality_Helm_Chart_Lock |
159.83588898146644 ns/iter |
179.6366041295019 ns/iter |
0.89 |
JSON_Divisible_By_Decimal |
242.29514786841494 ns/iter |
234.92363272043906 ns/iter |
1.03 |
JSON_String_Equal/10 |
6.619997809290014 ns/iter |
6.0520478192153035 ns/iter |
1.09 |
JSON_String_Equal/100 |
7.25217449887516 ns/iter |
6.778898638059656 ns/iter |
1.07 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.7430705797554258 ns/iter |
0.711730343973828 ns/iter |
1.04 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
27.989226475850117 ns/iter |
23.200635546178752 ns/iter |
1.21 |
JSON_String_Fast_Hash/10 |
1.5579232862092385 ns/iter |
1.0553456214637316 ns/iter |
1.48 |
JSON_String_Fast_Hash/100 |
1.557613226187875 ns/iter |
1.0554877340180056 ns/iter |
1.48 |
JSON_String_Key_Hash/10 |
1.2465571163451674 ns/iter |
1.759509187307237 ns/iter |
0.71 |
JSON_String_Key_Hash/100 |
12.439461697500741 ns/iter |
14.788791397564971 ns/iter |
0.84 |
JSON_Object_Defines_Miss_Same_Length |
3.128084263080772 ns/iter |
3.882824980093985 ns/iter |
0.81 |
JSON_Object_Defines_Miss_Too_Small |
3.424067669852704 ns/iter |
3.519481495863986 ns/iter |
0.97 |
JSON_Object_Defines_Miss_Too_Large |
3.4268958848461772 ns/iter |
3.5172090745405624 ns/iter |
0.97 |
Regex_Lower_S_Or_Upper_S_Asterisk |
1.5574680137031436 ns/iter |
1.4074019509806048 ns/iter |
1.11 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.5578658077820622 ns/iter |
1.7598609677434573 ns/iter |
0.89 |
Regex_Period_Asterisk |
1.5562366984418528 ns/iter |
1.7642410183623052 ns/iter |
0.88 |
Regex_Group_Period_Asterisk_Group |
1.556813647816198 ns/iter |
1.7587886773591594 ns/iter |
0.89 |
Regex_Period_Plus |
1.5574053754347363 ns/iter |
1.7619148716983961 ns/iter |
0.88 |
Regex_Period |
1.5581635764795807 ns/iter |
1.7589865717697455 ns/iter |
0.89 |
Regex_Caret_Period_Plus_Dollar |
1.5562124404286204 ns/iter |
1.7604490741940728 ns/iter |
0.88 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
1.2451693737053013 ns/iter |
1.410592693416694 ns/iter |
0.88 |
Regex_Caret_Period_Asterisk_Dollar |
1.247592072361982 ns/iter |
1.4106770965145237 ns/iter |
0.88 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.245371893572248 ns/iter |
1.4124840019810994 ns/iter |
0.88 |
Regex_Caret_X_Hyphen |
12.78282175404499 ns/iter |
11.947166457274644 ns/iter |
1.07 |
Regex_Period_Md_Dollar |
30.46303645302948 ns/iter |
39.68025763666625 ns/iter |
0.77 |
Regex_Caret_Slash_Period_Asterisk |
4.668851621203278 ns/iter |
4.219076002716696 ns/iter |
1.11 |
Regex_Caret_Period_Range_Dollar |
1.5573484279338587 ns/iter |
1.4094481247313235 ns/iter |
1.10 |
Regex_Nested_Backtrack |
53.778567525347945 ns/iter |
57.84391839106199 ns/iter |
0.93 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti [email protected]