Make URITemplateRouterViewTest resistant to invalid data crashes#2271
Make URITemplateRouterViewTest resistant to invalid data crashes#2271
URITemplateRouterViewTest resistant to invalid data crashes#2271Conversation
🤖 Augment PR SummarySummary: This PR hardens Changes:
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 Technical Notes: 🤖 Was this summary useful? React with 👍 or 👎 |
047c98c to
b83bccf
Compare
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
b83bccf to
3781669
Compare
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com