Use RAII on write_file#2378
Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
🤖 Augment PR SummarySummary: Refactors the Changes:
Technical Notes: The commit flag ensures cleanup doesn’t throw during stack unwinding while preserving throwing behavior on the explicit commit path. 🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
Benchmark (linux/llvm)
Details
| Benchmark suite | Current: 6076834 | Previous: ecaa0df | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.496042597610688 ns/iter |
2.0181686562819285 ns/iter |
1.24 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.180225776801971 ns/iter |
2.215638744917354 ns/iter |
0.98 |
Regex_Period_Asterisk |
2.491159421054276 ns/iter |
2.017420589822009 ns/iter |
1.23 |
Regex_Group_Period_Asterisk_Group |
2.1810169616495205 ns/iter |
2.206805905402207 ns/iter |
0.99 |
Regex_Period_Plus |
3.1195861759429953 ns/iter |
2.307758786283587 ns/iter |
1.35 |
Regex_Period |
2.5267883817126378 ns/iter |
2.042550162399803 ns/iter |
1.24 |
Regex_Caret_Period_Plus_Dollar |
2.8028321503430873 ns/iter |
2.304705320954437 ns/iter |
1.22 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.4901347830251144 ns/iter |
2.02074281918294 ns/iter |
1.23 |
Regex_Caret_Period_Asterisk_Dollar |
2.8040778357730676 ns/iter |
2.035666066569241 ns/iter |
1.38 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.491173911183307 ns/iter |
2.2505850899924336 ns/iter |
1.11 |
Regex_Caret_X_Hyphen |
6.859371033300709 ns/iter |
4.033999175285496 ns/iter |
1.70 |
Regex_Period_Md_Dollar |
27.352966781873423 ns/iter |
25.47669464901273 ns/iter |
1.07 |
Regex_Caret_Slash_Period_Asterisk |
6.2253905256794795 ns/iter |
4.03269215549766 ns/iter |
1.54 |
Regex_Caret_Period_Range_Dollar |
3.7355756367464097 ns/iter |
2.0184595854366107 ns/iter |
1.85 |
Regex_Nested_Backtrack |
40.868741527951826 ns/iter |
33.21284925818487 ns/iter |
1.23 |
JSON_Array_Of_Objects_Unique |
424.81562050262454 ns/iter |
345.37915601772005 ns/iter |
1.23 |
JSON_Parse_1 |
5841.400427193888 ns/iter |
5183.980134680601 ns/iter |
1.13 |
JSON_Parse_Real |
12467.111876752586 ns/iter |
9893.447405229412 ns/iter |
1.26 |
JSON_Parse_Decimal |
11523.020074166523 ns/iter |
10096.28685727556 ns/iter |
1.14 |
JSON_Parse_Schema_ISO_Language |
3620634.1761661638 ns/iter |
3411121.5778893754 ns/iter |
1.06 |
JSON_Fast_Hash_Helm_Chart_Lock |
60.41730817292418 ns/iter |
49.852953483366896 ns/iter |
1.21 |
JSON_Equality_Helm_Chart_Lock |
155.75222863261098 ns/iter |
128.8064045240851 ns/iter |
1.21 |
JSON_Divisible_By_Decimal |
248.43926964112336 ns/iter |
252.8366811510795 ns/iter |
0.98 |
JSON_String_Equal/10 |
5.92098306451491 ns/iter |
4.323241983987233 ns/iter |
1.37 |
JSON_String_Equal/100 |
6.5507320842838075 ns/iter |
5.4796877692618535 ns/iter |
1.20 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.9349623113029477 ns/iter |
0.8650612785153905 ns/iter |
1.08 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
14.629212452823703 ns/iter |
9.338412299679613 ns/iter |
1.57 |
JSON_String_Fast_Hash/10 |
2.491423535754828 ns/iter |
2.0163108801831715 ns/iter |
1.24 |
JSON_String_Fast_Hash/100 |
2.4907713584969526 ns/iter |
2.0158271076380596 ns/iter |
1.24 |
JSON_String_Key_Hash/10 |
2.5758299716378783 ns/iter |
1.7296566052815012 ns/iter |
1.49 |
JSON_String_Key_Hash/100 |
21.899542053040943 ns/iter |
6.648380155950203 ns/iter |
3.29 |
JSON_Object_Defines_Miss_Same_Length |
3.742489314667292 ns/iter |
3.4631655542687705 ns/iter |
1.08 |
JSON_Object_Defines_Miss_Too_Small |
3.739678919292619 ns/iter |
3.635044590167889 ns/iter |
1.03 |
JSON_Object_Defines_Miss_Too_Large |
3.7395915949830365 ns/iter |
3.648147177488716 ns/iter |
1.03 |
Pointer_Object_Traverse |
25.582756634643506 ns/iter |
23.765677329397292 ns/iter |
1.08 |
Pointer_Object_Try_Traverse |
28.522369211966023 ns/iter |
27.408715532757288 ns/iter |
1.04 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
195.35191951232625 ns/iter |
164.73758960244984 ns/iter |
1.19 |
Pointer_Walker_Schema_ISO_Language |
3103352.4419642943 ns/iter |
3233958.672897231 ns/iter |
0.96 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1394575.4040000795 ns/iter |
1189333.8911564264 ns/iter |
1.17 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1939989.4472223246 ns/iter |
2046518.249999836 ns/iter |
0.95 |
Pointer_Position_Tracker_Get_Deeply_Nested |
619.5108235208797 ns/iter |
714.6361528005283 ns/iter |
0.87 |
Schema_Frame_WoT_References |
5144864.926470953 ns/iter |
4664086.046666398 ns/iter |
1.10 |
Schema_Frame_OMC_References |
20956924.454546396 ns/iter |
21585910.787879664 ns/iter |
0.97 |
Schema_Frame_OMC_Locations |
19383478.805555873 ns/iter |
19489680.749997105 ns/iter |
0.99 |
Schema_Frame_ISO_Language_Locations |
99281780.66667216 ns/iter |
96736145.57142888 ns/iter |
1.03 |
Schema_Frame_KrakenD_References |
39917567.38889131 ns/iter |
39367143.83333614 ns/iter |
1.01 |
Schema_Frame_KrakenD_Reachable |
566697674.000011 ns/iter |
783978680.9998941 ns/iter |
0.72 |
Schema_Iterator_ISO_Language |
2981125.7923727687 ns/iter |
2829903.3238869454 ns/iter |
1.05 |
Schema_Frame_ISO_Language_Locations_To_JSON |
109630127.80000553 ns/iter |
116301198.39999226 ns/iter |
0.94 |
Schema_Tracker_ISO_Language |
4676683.369127857 ns/iter |
4891126.31249987 ns/iter |
0.96 |
Schema_Tracker_ISO_Language_To_JSON |
19141399.05555443 ns/iter |
20577190.705881443 ns/iter |
0.93 |
Schema_Format_ISO_Language_To_JSON |
104989395.14283328 ns/iter |
101756129.00002305 ns/iter |
1.03 |
Schema_Bundle_Meta_2020_12 |
1662289.3642837275 ns/iter |
1550137.3503313938 ns/iter |
1.07 |
Schema_Frame_Many_Resources_References |
366461852.9999757 ns/iter |
372928217.99997 ns/iter |
0.98 |
EditorSchema_ForEditor_EmbeddedResources |
13768810.627456618 ns/iter |
13089050.833337346 ns/iter |
1.05 |
URITemplateRouter_Create |
32545.438826491507 ns/iter |
28370.486710151778 ns/iter |
1.15 |
URITemplateRouter_Match |
175.97070941069032 ns/iter |
153.99901669058445 ns/iter |
1.14 |
URITemplateRouter_Match_BasePath |
205.89460076393485 ns/iter |
172.5212789219507 ns/iter |
1.19 |
URITemplateRouterView_Restore |
7512.02886238643 ns/iter |
3453.4923273277736 ns/iter |
2.18 |
URITemplateRouterView_Match |
141.47606684617327 ns/iter |
130.20973403019403 ns/iter |
1.09 |
URITemplateRouterView_Match_BasePath |
161.07747617769198 ns/iter |
145.7580447229734 ns/iter |
1.11 |
URITemplateRouterView_Arguments |
454.0364121283757 ns/iter |
423.3695344670261 ns/iter |
1.07 |
JSONL_Parse_Large |
10887623.656250512 ns/iter |
9723312.29166596 ns/iter |
1.12 |
JSONL_Parse_Large_GZIP |
12089128.89655204 ns/iter |
10882744.169230836 ns/iter |
1.11 |
HTML_Build_Table_100000 |
64276880.90909875 ns/iter |
71404323.55554873 ns/iter |
0.90 |
HTML_Render_Table_100000 |
5319230.310077756 ns/iter |
10585340.031250112 ns/iter |
0.50 |
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: 6076834 | Previous: 4707860 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
6.845471428572328 ns/iter |
7.545964285713731 ns/iter |
0.91 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
6.850168749999901 ns/iter |
7.522830357142852 ns/iter |
0.91 |
Regex_Period_Asterisk |
6.848303571427294 ns/iter |
7.5169441964284545 ns/iter |
0.91 |
Regex_Group_Period_Asterisk_Group |
6.934882142857645 ns/iter |
7.56869910714337 ns/iter |
0.92 |
Regex_Period_Plus |
9.182657101863356 ns/iter |
9.684830313907982 ns/iter |
0.95 |
Regex_Period |
9.27024906575827 ns/iter |
9.703088795967538 ns/iter |
0.96 |
Regex_Caret_Period_Plus_Dollar |
8.823751299892717 ns/iter |
9.779883438482852 ns/iter |
0.90 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
9.494417410714615 ns/iter |
9.699541028125598 ns/iter |
0.98 |
Regex_Caret_Period_Asterisk_Dollar |
6.901640624999825 ns/iter |
7.60534040178332 ns/iter |
0.91 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
6.837859821428895 ns/iter |
7.511529017854965 ns/iter |
0.91 |
Regex_Caret_X_Hyphen |
10.693051562501665 ns/iter |
11.776357142857867 ns/iter |
0.91 |
Regex_Period_Md_Dollar |
31.37534374999973 ns/iter |
40.77687420683699 ns/iter |
0.77 |
Regex_Caret_Slash_Period_Asterisk |
10.117814686972773 ns/iter |
11.260095485444692 ns/iter |
0.90 |
Regex_Caret_Period_Range_Dollar |
8.750024960936067 ns/iter |
9.677507099652743 ns/iter |
0.90 |
Regex_Nested_Backtrack |
39.386975446425204 ns/iter |
52.30184821428452 ns/iter |
0.75 |
JSON_Array_Of_Objects_Unique |
377.9399325107581 ns/iter |
456.4100572344673 ns/iter |
0.83 |
JSON_Parse_1 |
5924.14732142897 ns/iter |
7856.271205357908 ns/iter |
0.75 |
JSON_Parse_Real |
10749.042187502057 ns/iter |
15526.506696430835 ns/iter |
0.69 |
JSON_Parse_Decimal |
11485.581249999655 ns/iter |
15627.008928572448 ns/iter |
0.73 |
JSON_Parse_Schema_ISO_Language |
5308916.964285768 ns/iter |
5832097.999998496 ns/iter |
0.91 |
JSON_Fast_Hash_Helm_Chart_Lock |
49.852339999984 ns/iter |
57.35409999999775 ns/iter |
0.87 |
JSON_Equality_Helm_Chart_Lock |
223.01228125002126 ns/iter |
306.88040878924545 ns/iter |
0.73 |
JSON_Divisible_By_Decimal |
205.37561583145083 ns/iter |
258.6648396725824 ns/iter |
0.79 |
JSON_String_Equal/10 |
9.054665584576592 ns/iter |
12.546408928573426 ns/iter |
0.72 |
JSON_String_Equal/100 |
10.230570490041936 ns/iter |
14.0145821428551 ns/iter |
0.73 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.6638685948644452 ns/iter |
2.2105231250002078 ns/iter |
0.75 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
8.805539692833595 ns/iter |
12.523823214284644 ns/iter |
0.70 |
JSON_String_Fast_Hash/10 |
2.7427348413008494 ns/iter |
3.132158482142496 ns/iter |
0.88 |
JSON_String_Fast_Hash/100 |
2.7367548636274868 ns/iter |
3.138050892857791 ns/iter |
0.87 |
JSON_String_Key_Hash/10 |
3.022583612023473 ns/iter |
3.763056957565588 ns/iter |
0.80 |
JSON_String_Key_Hash/100 |
13.159023214285526 ns/iter |
16.88125301195364 ns/iter |
0.78 |
JSON_Object_Defines_Miss_Same_Length |
3.859348772321525 ns/iter |
5.20939799999951 ns/iter |
0.74 |
JSON_Object_Defines_Miss_Too_Small |
3.113304464285704 ns/iter |
3.766261600417078 ns/iter |
0.83 |
JSON_Object_Defines_Miss_Too_Large |
3.003513634370614 ns/iter |
3.767044278987995 ns/iter |
0.80 |
Pointer_Object_Traverse |
32.652714868794455 ns/iter |
46.70211096695544 ns/iter |
0.70 |
Pointer_Object_Try_Traverse |
40.98921127034772 ns/iter |
49.463730000002215 ns/iter |
0.83 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
133.93158928571276 ns/iter |
169.34670553664822 ns/iter |
0.79 |
Pointer_Walker_Schema_ISO_Language |
10123270.666666334 ns/iter |
10973990.625000596 ns/iter |
0.92 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1668060.8695647947 ns/iter |
1950533.7792639409 ns/iter |
0.86 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
2523329.0969901225 ns/iter |
3114536.6071427814 ns/iter |
0.81 |
Pointer_Position_Tracker_Get_Deeply_Nested |
478.72837611619343 ns/iter |
616.3553571426457 ns/iter |
0.78 |
Schema_Frame_WoT_References |
7971977.777775566 ns/iter |
9861470.312500842 ns/iter |
0.81 |
Schema_Frame_OMC_References |
34566645.0000067 ns/iter |
42408782.3529429 ns/iter |
0.82 |
Schema_Frame_OMC_Locations |
33292185.714290533 ns/iter |
38934561.1111038 ns/iter |
0.86 |
Schema_Frame_ISO_Language_Locations |
160581125.00002152 ns/iter |
180286350.00001714 ns/iter |
0.89 |
Schema_Frame_KrakenD_References |
72874811.11112963 ns/iter |
92777342.85715918 ns/iter |
0.79 |
Schema_Frame_KrakenD_Reachable |
411825649.9999688 ns/iter |
550131599.999986 ns/iter |
0.75 |
Schema_Iterator_ISO_Language |
5092322.999998941 ns/iter |
6657563.392855488 ns/iter |
0.76 |
Schema_Frame_ISO_Language_Locations_To_JSON |
251859299.99997827 ns/iter |
300542850.0000562 ns/iter |
0.84 |
Schema_Tracker_ISO_Language |
7907521.111110327 ns/iter |
9664760.93750046 ns/iter |
0.82 |
Schema_Tracker_ISO_Language_To_JSON |
38903100.00000833 ns/iter |
48957942.857133016 ns/iter |
0.79 |
Schema_Format_ISO_Language_To_JSON |
166758125.0000012 ns/iter |
198837475.00006166 ns/iter |
0.84 |
Schema_Bundle_Meta_2020_12 |
2214839.799329103 ns/iter |
3087543.220332872 ns/iter |
0.72 |
Schema_Frame_Many_Resources_References |
1137378799.9998512 ns/iter |
1554927300.000145 ns/iter |
0.73 |
EditorSchema_ForEditor_EmbeddedResources |
23232480.000009067 ns/iter |
28867309.09091801 ns/iter |
0.80 |
URITemplateRouter_Create |
28245.931937806075 ns/iter |
41632.18037258085 ns/iter |
0.68 |
URITemplateRouter_Match |
169.28387294310983 ns/iter |
218.93565636877912 ns/iter |
0.77 |
URITemplateRouter_Match_BasePath |
196.369463961536 ns/iter |
243.56685714289077 ns/iter |
0.81 |
URITemplateRouterView_Restore |
17907.612567967088 ns/iter |
31598.46247597517 ns/iter |
0.57 |
URITemplateRouterView_Match |
124.46187500001673 ns/iter |
163.98896857068345 ns/iter |
0.76 |
URITemplateRouterView_Match_BasePath |
144.7392993420019 ns/iter |
189.96893660433287 ns/iter |
0.76 |
URITemplateRouterView_Arguments |
341.9075371594309 ns/iter |
441.8003749999855 ns/iter |
0.77 |
JSONL_Parse_Large |
20958679.411766004 ns/iter |
27754015.999998957 ns/iter |
0.76 |
JSONL_Parse_Large_GZIP |
20639164.70587949 ns/iter |
27595683.999998074 ns/iter |
0.75 |
HTML_Build_Table_100000 |
73260966.66666773 ns/iter |
85115722.22222538 ns/iter |
0.86 |
HTML_Render_Table_100000 |
6848355.357143581 ns/iter |
6999115.55555496 ns/iter |
0.98 |
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: 6076834 | Previous: 4707860 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.0018600770553237 ns/iter |
1.9164708044557333 ns/iter |
1.04 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.0004290452610802 ns/iter |
1.7337440954396883 ns/iter |
1.15 |
Regex_Period_Asterisk |
1.8470456643434248 ns/iter |
1.7148753040841493 ns/iter |
1.08 |
Regex_Group_Period_Asterisk_Group |
1.953802740861605 ns/iter |
1.7394005086814943 ns/iter |
1.12 |
Regex_Period_Plus |
2.2511252871473992 ns/iter |
2.0843421163064577 ns/iter |
1.08 |
Regex_Period |
2.222196786295691 ns/iter |
2.0358330677706613 ns/iter |
1.09 |
Regex_Caret_Period_Plus_Dollar |
2.348904145033917 ns/iter |
2.1359666781804263 ns/iter |
1.10 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.2700452768279713 ns/iter |
2.175400118603611 ns/iter |
1.04 |
Regex_Caret_Period_Asterisk_Dollar |
1.827045183784791 ns/iter |
1.768398607188055 ns/iter |
1.03 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.7727737710697669 ns/iter |
2.1144069163383077 ns/iter |
0.84 |
Regex_Caret_X_Hyphen |
7.56506543692849 ns/iter |
6.990462559906762 ns/iter |
1.08 |
Regex_Period_Md_Dollar |
24.986819189527996 ns/iter |
25.88325853806402 ns/iter |
0.97 |
Regex_Caret_Slash_Period_Asterisk |
9.649370421965953 ns/iter |
9.265577615440026 ns/iter |
1.04 |
Regex_Caret_Period_Range_Dollar |
1.8745790043850445 ns/iter |
1.731664165263211 ns/iter |
1.08 |
Regex_Nested_Backtrack |
27.529511343562927 ns/iter |
24.430663295549085 ns/iter |
1.13 |
JSON_Array_Of_Objects_Unique |
386.6608542873926 ns/iter |
341.00690050764865 ns/iter |
1.13 |
JSON_Parse_1 |
4295.525642650146 ns/iter |
3923.241365646896 ns/iter |
1.09 |
JSON_Parse_Real |
6951.560700180875 ns/iter |
6374.988637137217 ns/iter |
1.09 |
JSON_Parse_Decimal |
8906.358639176538 ns/iter |
8123.304350936275 ns/iter |
1.10 |
JSON_Parse_Schema_ISO_Language |
5213297.045159585 ns/iter |
4396554.216867456 ns/iter |
1.19 |
JSON_Fast_Hash_Helm_Chart_Lock |
66.01105153484573 ns/iter |
62.993156188054286 ns/iter |
1.05 |
JSON_Equality_Helm_Chart_Lock |
143.3972506922677 ns/iter |
160.89520680240085 ns/iter |
0.89 |
JSON_Divisible_By_Decimal |
202.55175497546927 ns/iter |
179.25577381898347 ns/iter |
1.13 |
JSON_String_Equal/10 |
8.403012007178603 ns/iter |
6.752011637906269 ns/iter |
1.24 |
JSON_String_Equal/100 |
7.616343067730577 ns/iter |
7.454045493411747 ns/iter |
1.02 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.8910476619176917 ns/iter |
0.8984124492709898 ns/iter |
0.99 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
3.756339818665332 ns/iter |
3.493425169616726 ns/iter |
1.08 |
JSON_String_Fast_Hash/10 |
2.495438193676076 ns/iter |
2.405405770867503 ns/iter |
1.04 |
JSON_String_Fast_Hash/100 |
2.1405214045501433 ns/iter |
2.0665815607660836 ns/iter |
1.04 |
JSON_String_Key_Hash/10 |
1.4485136496900628 ns/iter |
1.392746422729349 ns/iter |
1.04 |
JSON_String_Key_Hash/100 |
2.494258250634384 ns/iter |
2.1922800309810735 ns/iter |
1.14 |
JSON_Object_Defines_Miss_Same_Length |
2.500132162058383 ns/iter |
2.5502554987949733 ns/iter |
0.98 |
JSON_Object_Defines_Miss_Too_Small |
2.510336541751862 ns/iter |
2.4364018078720324 ns/iter |
1.03 |
JSON_Object_Defines_Miss_Too_Large |
2.429691962284269 ns/iter |
2.376818597902591 ns/iter |
1.02 |
Pointer_Object_Traverse |
14.101435047218889 ns/iter |
13.93235248983062 ns/iter |
1.01 |
Pointer_Object_Try_Traverse |
23.086284570739934 ns/iter |
19.24601924396576 ns/iter |
1.20 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
228.43263422827692 ns/iter |
159.0044633071697 ns/iter |
1.44 |
Pointer_Walker_Schema_ISO_Language |
6255379.259843227 ns/iter |
5443241.369368628 ns/iter |
1.15 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1115544.3886093185 ns/iter |
1041763.0175181103 ns/iter |
1.07 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1408678.403755881 ns/iter |
1323910.4391145685 ns/iter |
1.06 |
Pointer_Position_Tracker_Get_Deeply_Nested |
374.8017884018243 ns/iter |
349.31291375171213 ns/iter |
1.07 |
Schema_Frame_WoT_References |
5432435.766666307 ns/iter |
4776755.666667595 ns/iter |
1.14 |
Schema_Frame_OMC_References |
29356736.639983863 ns/iter |
26842432.692310818 ns/iter |
1.09 |
Schema_Frame_OMC_Locations |
25315904.33333501 ns/iter |
25272516.357144274 ns/iter |
1.00 |
Schema_Frame_ISO_Language_Locations |
80882565.57143073 ns/iter |
73963802.1250073 ns/iter |
1.09 |
Schema_Frame_KrakenD_References |
56597012.8461511 ns/iter |
48226372.07143998 ns/iter |
1.17 |
Schema_Frame_KrakenD_Reachable |
511725374.99996907 ns/iter |
403316082.99993604 ns/iter |
1.27 |
Schema_Iterator_ISO_Language |
2906892.1992890034 ns/iter |
2264606.9023568677 ns/iter |
1.28 |
Schema_Frame_ISO_Language_Locations_To_JSON |
126535449.99993756 ns/iter |
92079979.16666955 ns/iter |
1.37 |
Schema_Tracker_ISO_Language |
7700200.683673905 ns/iter |
6947582.479592618 ns/iter |
1.11 |
Schema_Tracker_ISO_Language_To_JSON |
20366177.419360142 ns/iter |
14164369.791667277 ns/iter |
1.44 |
Schema_Format_ISO_Language_To_JSON |
100819696.28579047 ns/iter |
74973689.66667435 ns/iter |
1.34 |
Schema_Bundle_Meta_2020_12 |
1619047.7066835836 ns/iter |
1311068.3575465048 ns/iter |
1.23 |
Schema_Frame_Many_Resources_References |
411435020.99998844 ns/iter |
319448353.9999737 ns/iter |
1.29 |
EditorSchema_ForEditor_EmbeddedResources |
16404003.299994657 ns/iter |
11053731.448304588 ns/iter |
1.48 |
URITemplateRouter_Create |
27821.935388582966 ns/iter |
25880.64367219533 ns/iter |
1.08 |
URITemplateRouter_Match |
177.34054708235234 ns/iter |
164.76915829734153 ns/iter |
1.08 |
URITemplateRouter_Match_BasePath |
210.1490565672567 ns/iter |
193.90256657742705 ns/iter |
1.08 |
URITemplateRouterView_Restore |
10161.351469360663 ns/iter |
9418.789585971617 ns/iter |
1.08 |
URITemplateRouterView_Match |
138.26686298869487 ns/iter |
130.8322012503441 ns/iter |
1.06 |
URITemplateRouterView_Match_BasePath |
153.78107774591038 ns/iter |
149.15239144741108 ns/iter |
1.03 |
URITemplateRouterView_Arguments |
524.8367121653885 ns/iter |
439.67191204609674 ns/iter |
1.19 |
JSONL_Parse_Large |
17333303.0454511 ns/iter |
14865142.268291026 ns/iter |
1.17 |
JSONL_Parse_Large_GZIP |
16594414.575001791 ns/iter |
13111179.725487377 ns/iter |
1.27 |
HTML_Build_Table_100000 |
83083375.0000137 ns/iter |
66456124.999990605 ns/iter |
1.25 |
HTML_Render_Table_100000 |
5622260.245903906 ns/iter |
4461008.811428785 ns/iter |
1.26 |
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: 6076834 | Previous: 4707860 | Ratio |
|---|---|---|---|
HTML_Build_Table_100000 |
63665469.54545397 ns/iter |
64732498.72727716 ns/iter |
0.98 |
HTML_Render_Table_100000 |
5143537.111940301 ns/iter |
5668841.176923077 ns/iter |
0.91 |
JSONL_Parse_Large |
12955688.4999989 ns/iter |
13218573.339621421 ns/iter |
0.98 |
JSONL_Parse_Large_GZIP |
14187051.03999855 ns/iter |
14348742.142856838 ns/iter |
0.99 |
URITemplateRouter_Create |
31842.336732349475 ns/iter |
30382.83798302385 ns/iter |
1.05 |
URITemplateRouter_Match |
182.28833076569813 ns/iter |
179.80326861934515 ns/iter |
1.01 |
URITemplateRouter_Match_BasePath |
203.0145433012163 ns/iter |
211.53904330423617 ns/iter |
0.96 |
URITemplateRouterView_Restore |
7654.650909403092 ns/iter |
7806.586104764301 ns/iter |
0.98 |
URITemplateRouterView_Match |
138.0465722920877 ns/iter |
138.54340763108044 ns/iter |
1.00 |
URITemplateRouterView_Match_BasePath |
160.6564823036242 ns/iter |
156.74334533149923 ns/iter |
1.02 |
URITemplateRouterView_Arguments |
479.79604067669766 ns/iter |
483.844397424943 ns/iter |
0.99 |
EditorSchema_ForEditor_EmbeddedResources |
13808795.8235282 ns/iter |
14060832.039995149 ns/iter |
0.98 |
Schema_Frame_WoT_References |
5396102.223078112 ns/iter |
5432082.705426161 ns/iter |
0.99 |
Schema_Frame_OMC_References |
22404000.19354638 ns/iter |
22399195.63332933 ns/iter |
1.00 |
Schema_Frame_OMC_Locations |
20817507.08823486 ns/iter |
20724556.970589325 ns/iter |
1.00 |
Schema_Frame_ISO_Language_Locations |
101658279.16667543 ns/iter |
104206424.00000209 ns/iter |
0.98 |
Schema_Frame_KrakenD_References |
40496686.882360175 ns/iter |
38849131.41176666 ns/iter |
1.04 |
Schema_Frame_KrakenD_Reachable |
521954026.00000304 ns/iter |
517355884.0001533 ns/iter |
1.01 |
Schema_Iterator_ISO_Language |
3393085.735576908 ns/iter |
3440512.65116282 ns/iter |
0.99 |
Schema_Frame_ISO_Language_Locations_To_JSON |
211229380.6666609 ns/iter |
219025086.66668534 ns/iter |
0.96 |
Schema_Tracker_ISO_Language |
4594488.118421599 ns/iter |
4700848.99999873 ns/iter |
0.98 |
Schema_Tracker_ISO_Language_To_JSON |
22015285.93749913 ns/iter |
22358317.967744723 ns/iter |
0.98 |
Schema_Format_ISO_Language_To_JSON |
109006416.33331059 ns/iter |
112779084.49998601 ns/iter |
0.97 |
Schema_Bundle_Meta_2020_12 |
1781059.5913735207 ns/iter |
1810454.8837192652 ns/iter |
0.98 |
Schema_Frame_Many_Resources_References |
374251482.4999716 ns/iter |
376227059.4999109 ns/iter |
0.99 |
Pointer_Object_Traverse |
25.202062259141865 ns/iter |
29.062775076663378 ns/iter |
0.87 |
Pointer_Object_Try_Traverse |
19.898138248158794 ns/iter |
19.885706508608898 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
159.84325585553475 ns/iter |
135.9357946929921 ns/iter |
1.18 |
Pointer_Walker_Schema_ISO_Language |
3375186.2153108423 ns/iter |
3324567.5592418322 ns/iter |
1.02 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1584032.5147394582 ns/iter |
1541272.3414095482 ns/iter |
1.03 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1788574.6891190629 ns/iter |
1762742.6818182697 ns/iter |
1.01 |
Pointer_Position_Tracker_Get_Deeply_Nested |
539.2449281945809 ns/iter |
432.71912072644176 ns/iter |
1.25 |
JSON_Array_Of_Objects_Unique |
373.84294131472944 ns/iter |
405.5588624257374 ns/iter |
0.92 |
JSON_Parse_1 |
7866.942111223461 ns/iter |
7939.180614444168 ns/iter |
0.99 |
JSON_Parse_Real |
12640.13403256901 ns/iter |
13211.062060757353 ns/iter |
0.96 |
JSON_Parse_Decimal |
18175.89875688742 ns/iter |
18211.418130324186 ns/iter |
1.00 |
JSON_Parse_Schema_ISO_Language |
4670284.417218965 ns/iter |
4737458.98657612 ns/iter |
0.99 |
JSON_Fast_Hash_Helm_Chart_Lock |
59.76008929869506 ns/iter |
71.72613014007466 ns/iter |
0.83 |
JSON_Equality_Helm_Chart_Lock |
164.9016415267842 ns/iter |
180.35488919829126 ns/iter |
0.91 |
JSON_Divisible_By_Decimal |
241.94966541725012 ns/iter |
236.1554156763521 ns/iter |
1.02 |
JSON_String_Equal/10 |
6.6455054636872175 ns/iter |
6.511710420322301 ns/iter |
1.02 |
JSON_String_Equal/100 |
6.815010596120046 ns/iter |
7.033919573239065 ns/iter |
0.97 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.6237543019089988 ns/iter |
0.6252120780099217 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
25.1960908683763 ns/iter |
25.204320247006006 ns/iter |
1.00 |
JSON_String_Fast_Hash/10 |
1.5580934041916128 ns/iter |
1.5590602677127765 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
1.562067473521912 ns/iter |
1.558959949645192 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
1.2477308168589458 ns/iter |
1.2471458125890724 ns/iter |
1.00 |
JSON_String_Key_Hash/100 |
12.442018960896567 ns/iter |
12.446827916838007 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
3.6821726874783214 ns/iter |
3.426697733168207 ns/iter |
1.07 |
JSON_Object_Defines_Miss_Too_Small |
3.736729035955983 ns/iter |
3.737224969040811 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
3.1149497810537508 ns/iter |
3.1174778504486103 ns/iter |
1.00 |
Regex_Lower_S_Or_Upper_S_Asterisk |
0.6241721283978862 ns/iter |
0.6227494855956505 ns/iter |
1.00 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
0.6263263847103889 ns/iter |
0.6233523140635784 ns/iter |
1.00 |
Regex_Period_Asterisk |
0.9337309421275615 ns/iter |
0.937663505429503 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
0.9334878454385497 ns/iter |
0.9347869836468274 ns/iter |
1.00 |
Regex_Period_Plus |
0.6233347901120077 ns/iter |
0.6228618799081268 ns/iter |
1.00 |
Regex_Period |
0.623061822641514 ns/iter |
0.6240003610876835 ns/iter |
1.00 |
Regex_Caret_Period_Plus_Dollar |
0.9344227484845329 ns/iter |
0.935104818168294 ns/iter |
1.00 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
0.9347618580251633 ns/iter |
0.9350581140880341 ns/iter |
1.00 |
Regex_Caret_Period_Asterisk_Dollar |
0.6228590127993393 ns/iter |
0.6239320201397918 ns/iter |
1.00 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
0.6252601198973802 ns/iter |
0.6231641928572444 ns/iter |
1.00 |
Regex_Caret_X_Hyphen |
4.052531672966748 ns/iter |
4.049771733295087 ns/iter |
1.00 |
Regex_Period_Md_Dollar |
41.29852306504275 ns/iter |
30.438642049977418 ns/iter |
1.36 |
Regex_Caret_Slash_Period_Asterisk |
4.681162558663588 ns/iter |
4.671589017232122 ns/iter |
1.00 |
Regex_Caret_Period_Range_Dollar |
0.7781706335183441 ns/iter |
0.780496640748342 ns/iter |
1.00 |
Regex_Nested_Backtrack |
47.83960174077712 ns/iter |
37.73752276575122 ns/iter |
1.27 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com