Skip to content

Review compiler options for Clang and GCC#1592

Draft
jviotti wants to merge 1 commit intomainfrom
compiler-options-review
Draft

Review compiler options for Clang and GCC#1592
jviotti wants to merge 1 commit intomainfrom
compiler-options-review

Conversation

@jviotti
Copy link
Member

@jviotti jviotti commented Apr 1, 2025

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

@jviotti jviotti force-pushed the compiler-options-review branch 2 times, most recently from aec701a to 1339fec Compare April 1, 2025 18:53
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: 11127ad Previous: 54c5540 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 4.108407989236494 ns/iter 3.5728348596914037 ns/iter 1.15
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.713029474804753 ns/iter 3.5580122042616216 ns/iter 1.32
Regex_Period_Asterisk 4.086512284082407 ns/iter 4.257997029349437 ns/iter 0.96
Regex_Group_Period_Asterisk_Group 4.091250332994786 ns/iter 3.9228750000004045 ns/iter 1.04
Regex_Period_Plus 4.409880000000044 ns/iter 3.9159832589292467 ns/iter 1.13
Regex_Period 4.405228124998928 ns/iter 3.9167732072915027 ns/iter 1.12
Regex_Caret_Period_Plus_Dollar 4.091637998377793 ns/iter 3.7959076726400425 ns/iter 1.08
Regex_Caret_Group_Period_Plus_Group_Dollar 3.7740638333889795 ns/iter 4.39205202928988 ns/iter 0.86
Regex_Caret_Period_Asterisk_Dollar 4.092317596592698 ns/iter 3.902799107142434 ns/iter 1.05
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.71281721087286 ns/iter 3.557312449797803 ns/iter 1.32
Regex_Caret_X_Hyphen 7.8731618303556115 ns/iter 6.875337499999595 ns/iter 1.15
Regex_Period_Md_Dollar 36.21098926644307 ns/iter 33.9885666783715 ns/iter 1.07
Regex_Caret_Slash_Period_Asterisk 7.2195267857136765 ns/iter 6.386933035715612 ns/iter 1.13
Regex_Caret_Period_Range_Dollar 4.708731037295886 ns/iter 3.9029126716009683 ns/iter 1.21
Regex_Nested_Backtrack 104.49782812500528 ns/iter 85.29905133927787 ns/iter 1.23
JSON_Array_Of_Objects_Unique 456.26619921442773 ns/iter 537.1895535714901 ns/iter 0.85
JSON_Parse_1 8835.475446427361 ns/iter 8303.83593750079 ns/iter 1.06
JSON_Parse_Real 15361.968749998718 ns/iter 13785.648278356772 ns/iter 1.11
JSON_Parse_Decimal 15402.136160714366 ns/iter 14762.078125001615 ns/iter 1.04
JSON_Parse_Schema_ISO_Language 6142805.3571432885 ns/iter 6416213.333333568 ns/iter 0.96
JSON_Fast_Hash_Helm_Chart_Lock 58.07896999999684 ns/iter 71.49284598213512 ns/iter 0.81
JSON_Equality_Helm_Chart_Lock 250.02253571431407 ns/iter 291.79782625903414 ns/iter 0.86
JSON_Divisible_By_Decimal 1167.0981249999102 ns/iter 1104.199531249961 ns/iter 1.06
JSON_String_Equal/10 12.25552678571619 ns/iter 11.705265625000294 ns/iter 1.05
JSON_String_Equal/100 12.93200552262868 ns/iter 13.573147037617739 ns/iter 0.95
JSON_String_Equal_Small_By_Perfect_Hash/10 1.8816985731088003 ns/iter 1.8247939302005438 ns/iter 1.03
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.557201785715018 ns/iter 11.371135937498167 ns/iter 1.10
JSON_String_Fast_Hash/10 3.136449107143692 ns/iter 3.92416238839312 ns/iter 0.80
JSON_String_Fast_Hash/100 3.135728571428282 ns/iter 3.9267476715593754 ns/iter 0.80
JSON_String_Key_Hash/10 4.084710275151539 ns/iter 3.8970446428570376 ns/iter 1.05
JSON_String_Key_Hash/100 16.853517297853337 ns/iter 16.944512832963014 ns/iter 0.99
JSON_Object_Defines_Miss_Same_Length 5.052167857144241 ns/iter 3.87025714112973 ns/iter 1.31
JSON_Object_Defines_Miss_Too_Small 3.766750707559715 ns/iter 4.0264366143331864 ns/iter 0.94
JSON_Object_Defines_Miss_Too_Large 3.773091957548155 ns/iter 4.968045469859241 ns/iter 0.76
Pointer_Object_Traverse 40.20609875275166 ns/iter 44.122006249992296 ns/iter 0.91
Pointer_Object_Try_Traverse 52.70430000000488 ns/iter 54.68255357141872 ns/iter 0.96
Pointer_Push_Back_Pointer_To_Weak_Pointer 175.17622992646625 ns/iter 150.38430803571146 ns/iter 1.16
Pointer_Walker_Schema_ISO_Language 11580748.437499011 ns/iter 15343466.071430255 ns/iter 0.75
Schema_Frame_WoT_References 9920784.374997992 ns/iter 10991306.250001997 ns/iter 0.90
Schema_Frame_OMC_References 41604752.94117853 ns/iter 45517173.333322115 ns/iter 0.91
Schema_Frame_OMC_Locations 38463288.88888214 ns/iter 40412099.99999249 ns/iter 0.95
Schema_Frame_ISO_Language_Locations 191795850.00000542 ns/iter 198750200.00000632 ns/iter 0.97
Schema_Frame_KrakenD_References 87667377.77778468 ns/iter 91564442.85716653 ns/iter 0.96
Schema_Frame_KrakenD_Reachable 517428799.9998342 ns/iter 519478500.0001048 ns/iter 1.00
Schema_Iterator_ISO_Language 4131369.1860475657 ns/iter 4383674.096386064 ns/iter 0.94
Schema_Frame_ISO_Language_Locations_To_JSON 257783733.33332637 ns/iter 268248766.66667783 ns/iter 0.96
Schema_Tracker_ISO_Language 45134112.50000843 ns/iter 50270430.00000049 ns/iter 0.90
Schema_Tracker_ISO_Language_To_JSON 51996536.36364846 ns/iter 54021050.000005744 ns/iter 0.96
Schema_Format_ISO_Language_To_JSON 191076233.33328167 ns/iter 198271024.9999968 ns/iter 0.96
Schema_Bundle_Meta_2020_12 2691111.244980657 ns/iter 2657026.907634674 ns/iter 1.01
Schema_Frame_Many_Resources_References 1482838899.9999332 ns/iter 1481682099.9999435 ns/iter 1.00
Alterschema_Check_Readibility_ISO_Language_Set_3 318225199.9999153 ns/iter 315777550.0000071 ns/iter 1.01
Alterschema_Check_Readibility_OMC 57309609.090907544 ns/iter 61048080.00000048 ns/iter 0.94
Alterschema_Apply_Readibility_KrakenD 962804699.9996513 ns/iter 979714499.9997727 ns/iter 0.98
EditorSchema_ForEditor_EmbeddedResources 26825260.000023264 ns/iter 27182515.38462587 ns/iter 0.99
URITemplateRouter_Create 21956.63437500173 ns/iter 21026.48125000428 ns/iter 1.04
URITemplateRouter_Match 215.3196250000633 ns/iter 210.58089684904016 ns/iter 1.02
URITemplateRouterView_Restore 30184.516794341518 ns/iter 23774.945592127006 ns/iter 1.27
URITemplateRouterView_Match 163.74893284033814 ns/iter 156.22100446428533 ns/iter 1.05

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: 11127ad Previous: 54c5540 Ratio
URITemplateRouter_Create 14479.201466251248 ns/iter 13570.18646252435 ns/iter 1.07
URITemplateRouter_Match 178.1911159354323 ns/iter 176.94637394916117 ns/iter 1.01
URITemplateRouterView_Restore 7977.224269303564 ns/iter 8881.410538397577 ns/iter 0.90
URITemplateRouterView_Match 127.89625725771262 ns/iter 145.2850444289695 ns/iter 0.88
EditorSchema_ForEditor_EmbeddedResources 14720078.770854646 ns/iter 14532556.833340019 ns/iter 1.01
Alterschema_Check_Readibility_ISO_Language_Set_3 224306841.33329728 ns/iter 208736222.66670585 ns/iter 1.07
Alterschema_Check_Readibility_OMC 38485196.944445 ns/iter 35992393.73683734 ns/iter 1.07
Alterschema_Apply_Readibility_KrakenD 709653583.0000902 ns/iter 601284593.9999352 ns/iter 1.18
Schema_Frame_WoT_References 5454566.2265628185 ns/iter 5581627.031745931 ns/iter 0.98
Schema_Frame_OMC_References 24899973.071423378 ns/iter 23873191.448274158 ns/iter 1.04
Schema_Frame_OMC_Locations 22935914.300001062 ns/iter 21925290.290321372 ns/iter 1.05
Schema_Frame_ISO_Language_Locations 112039739.66667037 ns/iter 110834691.49999322 ns/iter 1.01
Schema_Frame_KrakenD_References 47216424.7333391 ns/iter 44601312.59999495 ns/iter 1.06
Schema_Frame_KrakenD_Reachable 681441930.0001191 ns/iter 626369641.0001103 ns/iter 1.09
Schema_Iterator_ISO_Language 2714870.206225769 ns/iter 2658194.902255502 ns/iter 1.02
Schema_Frame_ISO_Language_Locations_To_JSON 260108561.99998975 ns/iter 267230958.6666112 ns/iter 0.97
Schema_Tracker_ISO_Language 33994825.904756 ns/iter 30071407.65216916 ns/iter 1.13
Schema_Tracker_ISO_Language_To_JSON 32858006.42857967 ns/iter 29268708.826086134 ns/iter 1.12
Schema_Format_ISO_Language_To_JSON 121028183.16664828 ns/iter 116012926.5000099 ns/iter 1.04
Schema_Bundle_Meta_2020_12 1807393.466310007 ns/iter 1804625.000007574 ns/iter 1.00
Schema_Frame_Many_Resources_References 401940949.49993086 ns/iter 404269272.4999597 ns/iter 0.99
Pointer_Object_Traverse 28.036193179181904 ns/iter 27.506878422636817 ns/iter 1.02
Pointer_Object_Try_Traverse 27.41754668848854 ns/iter 26.87055345824115 ns/iter 1.02
Pointer_Push_Back_Pointer_To_Weak_Pointer 152.52883418746103 ns/iter 171.95867085117564 ns/iter 0.89
Pointer_Walker_Schema_ISO_Language 3590726.8378380383 ns/iter 3681969.2083334136 ns/iter 0.98
JSON_Array_Of_Objects_Unique 412.34361408379505 ns/iter 436.0837097848501 ns/iter 0.95
JSON_Parse_1 8273.282776682297 ns/iter 8284.207609223831 ns/iter 1.00
JSON_Parse_Real 13023.021264763787 ns/iter 12276.07848771062 ns/iter 1.06
JSON_Parse_Decimal 18637.47011899121 ns/iter 17391.561381675212 ns/iter 1.07
JSON_Parse_Schema_ISO_Language 4727577.68243109 ns/iter 4825130.06896656 ns/iter 0.98
JSON_Fast_Hash_Helm_Chart_Lock 54.177416751368185 ns/iter 85.60170883210411 ns/iter 0.63
JSON_Equality_Helm_Chart_Lock 149.6089219353376 ns/iter 156.49477269582607 ns/iter 0.96
JSON_Divisible_By_Decimal 593.2101273042216 ns/iter 514.4255658743527 ns/iter 1.15
JSON_String_Equal/10 5.689630049179673 ns/iter 6.423948983378611 ns/iter 0.89
JSON_String_Equal/100 6.319162954188367 ns/iter 7.150703213100351 ns/iter 0.88
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6245411139248827 ns/iter 0.7123002457508022 ns/iter 0.88
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 13.716086206093406 ns/iter 13.992905228947913 ns/iter 0.98
JSON_String_Fast_Hash/10 1.9079408742825545 ns/iter 2.201209125271402 ns/iter 0.87
JSON_String_Fast_Hash/100 1.9064289576996074 ns/iter 2.201028129766216 ns/iter 0.87
JSON_String_Key_Hash/10 2.4937172606388267 ns/iter 2.5967706350230726 ns/iter 0.96
JSON_String_Key_Hash/100 13.800786680604267 ns/iter 16.18179947526109 ns/iter 0.85
JSON_Object_Defines_Miss_Same_Length 3.492243636913071 ns/iter 3.522357219025752 ns/iter 0.99
JSON_Object_Defines_Miss_Too_Small 3.115466894741125 ns/iter 3.871519247095361 ns/iter 0.80
JSON_Object_Defines_Miss_Too_Large 3.4257358450989823 ns/iter 3.892613522360696 ns/iter 0.88
Regex_Lower_S_Or_Upper_S_Asterisk 3.111647985543298 ns/iter 3.181158017508527 ns/iter 0.98
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1261341728632677 ns/iter 3.1690365335426387 ns/iter 0.99
Regex_Period_Asterisk 3.1146372469956787 ns/iter 3.1684440311774176 ns/iter 0.98
Regex_Group_Period_Asterisk_Group 3.1133492617658636 ns/iter 3.1811035556496834 ns/iter 0.98
Regex_Period_Plus 3.1138285613027787 ns/iter 3.170541224031616 ns/iter 0.98
Regex_Period 3.11185286374939 ns/iter 3.262703732666466 ns/iter 0.95
Regex_Caret_Period_Plus_Dollar 3.112270019527551 ns/iter 3.166185684976767 ns/iter 0.98
Regex_Caret_Group_Period_Plus_Group_Dollar 3.112912361241348 ns/iter 3.166475854557894 ns/iter 0.98
Regex_Caret_Period_Asterisk_Dollar 3.557482928126858 ns/iter 4.232533234261629 ns/iter 0.84
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.112630548661127 ns/iter 4.227474795064679 ns/iter 0.74
Regex_Caret_X_Hyphen 13.068225623784237 ns/iter 12.35164147892577 ns/iter 1.06
Regex_Period_Md_Dollar 428.72947060537047 ns/iter 45.690147650551715 ns/iter 9.38
Regex_Caret_Slash_Period_Asterisk 8.403960372279064 ns/iter 9.507452723988145 ns/iter 0.88
Regex_Caret_Period_Range_Dollar 3.1135867308316296 ns/iter 3.1695493834977846 ns/iter 0.98
Regex_Nested_Backtrack 451.2257471526905 ns/iter 64.44860611897246 ns/iter 7.00

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

@jviotti jviotti force-pushed the compiler-options-review branch 6 times, most recently from 8b17676 to bb03df4 Compare April 28, 2025 15:28
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: 11127ad Previous: 54c5540 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.306434626859332 ns/iter 2.204249034227703 ns/iter 1.05
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.2459849727992336 ns/iter 2.1937251196600323 ns/iter 1.02
Regex_Period_Asterisk 2.2544818028179434 ns/iter 2.164057069913511 ns/iter 1.04
Regex_Group_Period_Asterisk_Group 2.1203494280158828 ns/iter 2.1243117529009385 ns/iter 1.00
Regex_Period_Plus 2.640907679313909 ns/iter 2.420863605314633 ns/iter 1.09
Regex_Period 2.664581591982393 ns/iter 2.470184725460983 ns/iter 1.08
Regex_Caret_Period_Plus_Dollar 2.5374742880310017 ns/iter 2.5790863920317175 ns/iter 0.98
Regex_Caret_Group_Period_Plus_Group_Dollar 2.7412213587890504 ns/iter 2.5581378322086032 ns/iter 1.07
Regex_Caret_Period_Asterisk_Dollar 2.5637234732427516 ns/iter 2.545485848806385 ns/iter 1.01
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.3469646137499502 ns/iter 2.2650512503746163 ns/iter 1.04
Regex_Caret_X_Hyphen 7.790410604290776 ns/iter 7.534969960523214 ns/iter 1.03
Regex_Period_Md_Dollar 463.3763290690041 ns/iter 24.094926897173266 ns/iter 19.23
Regex_Caret_Slash_Period_Asterisk 5.585626872589363 ns/iter 6.551460093296627 ns/iter 0.85
Regex_Caret_Period_Range_Dollar 2.924497810776472 ns/iter 2.6864087521352404 ns/iter 1.09
Regex_Nested_Backtrack 422.3502380459313 ns/iter 31.598778730857983 ns/iter 13.37
JSON_Array_Of_Objects_Unique 515.9584752391347 ns/iter 402.82672188814604 ns/iter 1.28
JSON_Parse_1 6200.08735072913 ns/iter 5543.884169999274 ns/iter 1.12
JSON_Parse_Real 8208.1961903504 ns/iter 6961.599531218643 ns/iter 1.18
JSON_Parse_Decimal 11098.388862820055 ns/iter 8754.898268037266 ns/iter 1.27
JSON_Parse_Schema_ISO_Language 4923348.776223243 ns/iter 3548884.2329543377 ns/iter 1.39
JSON_Fast_Hash_Helm_Chart_Lock 82.14144508676621 ns/iter 60.781320682721635 ns/iter 1.35
JSON_Equality_Helm_Chart_Lock 196.43299548521955 ns/iter 141.80803150312087 ns/iter 1.39
JSON_Divisible_By_Decimal 737.3991292951789 ns/iter 467.91319018763073 ns/iter 1.58
JSON_String_Equal/10 9.64154060030403 ns/iter 7.128251933538335 ns/iter 1.35
JSON_String_Equal/100 8.496848806638562 ns/iter 7.681748889541616 ns/iter 1.11
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9883114597337499 ns/iter 1.039664853927203 ns/iter 0.95
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 4.355364260085776 ns/iter 4.590782635346847 ns/iter 0.95
JSON_String_Fast_Hash/10 3.407353398722357 ns/iter 3.001369782988522 ns/iter 1.14
JSON_String_Fast_Hash/100 2.7787353497175586 ns/iter 2.4399028221321823 ns/iter 1.14
JSON_String_Key_Hash/10 2.1805016067054908 ns/iter 1.8848457048270568 ns/iter 1.16
JSON_String_Key_Hash/100 3.0719928941276287 ns/iter 3.018432992908093 ns/iter 1.02
JSON_Object_Defines_Miss_Same_Length 3.3393416479779714 ns/iter 2.7512352906220685 ns/iter 1.21
JSON_Object_Defines_Miss_Too_Small 3.0715504560591125 ns/iter 3.367631991067012 ns/iter 0.91
JSON_Object_Defines_Miss_Too_Large 3.2106105275581376 ns/iter 2.8492668889139057 ns/iter 1.13
Pointer_Object_Traverse 20.679251571615865 ns/iter 19.595428261262086 ns/iter 1.06
Pointer_Object_Try_Traverse 32.367502054551544 ns/iter 25.040583132813598 ns/iter 1.29
Pointer_Push_Back_Pointer_To_Weak_Pointer 231.88026258659892 ns/iter 199.3201377252552 ns/iter 1.16
Pointer_Walker_Schema_ISO_Language 5860645.671757208 ns/iter 6592359.011627852 ns/iter 0.89
Schema_Frame_WoT_References 7186759.392157803 ns/iter 6399576.710279442 ns/iter 1.12
Schema_Frame_OMC_References 33604977.272726834 ns/iter 33471400.347826086 ns/iter 1.00
Schema_Frame_OMC_Locations 27853495.00000848 ns/iter 31089864.130426973 ns/iter 0.90
Schema_Frame_ISO_Language_Locations 98621201.33334428 ns/iter 105777976.14285243 ns/iter 0.93
Schema_Frame_KrakenD_References 55720312.50000009 ns/iter 60620294.84615568 ns/iter 0.92
Schema_Frame_KrakenD_Reachable 572018875.9999019 ns/iter 639590624.0002205 ns/iter 0.89
Schema_Iterator_ISO_Language 2429934.181528424 ns/iter 3245832.606986829 ns/iter 0.75
Schema_Frame_ISO_Language_Locations_To_JSON 121216450.00001991 ns/iter 131004058.40000348 ns/iter 0.93
Schema_Tracker_ISO_Language 39082485.29411568 ns/iter 42937571.05882137 ns/iter 0.91
Schema_Tracker_ISO_Language_To_JSON 20168106.707315683 ns/iter 18456839.82221797 ns/iter 1.09
Schema_Format_ISO_Language_To_JSON 106378243.16673535 ns/iter 108289154.99990086 ns/iter 0.98
Schema_Bundle_Meta_2020_12 1485272.236140913 ns/iter 1735876.5512176987 ns/iter 0.86
Schema_Frame_Many_Resources_References 396041895.50004774 ns/iter 392333499.9999497 ns/iter 1.01
Alterschema_Check_Readibility_ISO_Language_Set_3 208790218.750039 ns/iter 180469093.74999133 ns/iter 1.16
Alterschema_Check_Readibility_OMC 42355808.823538825 ns/iter 38401638.15790507 ns/iter 1.10
Alterschema_Apply_Readibility_KrakenD 591903334.0001079 ns/iter 667745040.9999893 ns/iter 0.89
EditorSchema_ForEditor_EmbeddedResources 14993830.254554102 ns/iter 16339547.619038187 ns/iter 0.92
URITemplateRouter_Create 21586.634636805116 ns/iter 22229.05095387567 ns/iter 0.97
URITemplateRouter_Match 205.76118471607666 ns/iter 233.01790586373303 ns/iter 0.88
URITemplateRouterView_Restore 17718.20589708955 ns/iter 19440.70137830384 ns/iter 0.91
URITemplateRouterView_Match 161.6499625314251 ns/iter 176.4248053028175 ns/iter 0.92

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/llvm)

Details
Benchmark suite Current: 11127ad Previous: 54c5540 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.4517116365375125 ns/iter 2.0165239618521458 ns/iter 1.71
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.425859018920724 ns/iter 2.016499931797773 ns/iter 1.70
Regex_Period_Asterisk 3.424071482677363 ns/iter 2.0178544071818605 ns/iter 1.70
Regex_Group_Period_Asterisk_Group 3.423576908556164 ns/iter 2.0169112017821265 ns/iter 1.70
Regex_Period_Plus 3.4348033082203413 ns/iter 2.304117795924174 ns/iter 1.49
Regex_Period 3.43250557502934 ns/iter 2.3047793611612613 ns/iter 1.49
Regex_Caret_Period_Plus_Dollar 3.4277125628726206 ns/iter 2.3044862779474196 ns/iter 1.49
Regex_Caret_Group_Period_Plus_Group_Dollar 3.432340777577548 ns/iter 2.304236530280659 ns/iter 1.49
Regex_Caret_Period_Asterisk_Dollar 3.433417535906248 ns/iter 2.0232061487064916 ns/iter 1.70
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.427663090763377 ns/iter 2.0159468849104627 ns/iter 1.70
Regex_Caret_X_Hyphen 12.763362065753808 ns/iter 8.636820223240555 ns/iter 1.48
Regex_Period_Md_Dollar 390.96070892032355 ns/iter 25.163410000687865 ns/iter 15.54
Regex_Caret_Slash_Period_Asterisk 6.227279851399836 ns/iter 8.297320411545364 ns/iter 0.75
Regex_Caret_Period_Range_Dollar 3.458509514579743 ns/iter 2.3132317476166544 ns/iter 1.50
Regex_Nested_Backtrack 421.19943815999324 ns/iter 43.76589103045263 ns/iter 9.62
JSON_Array_Of_Objects_Unique 426.03279209664737 ns/iter 384.095875672343 ns/iter 1.11
JSON_Parse_1 6460.600025621127 ns/iter 5409.528602439391 ns/iter 1.19
JSON_Parse_Real 10998.846592621034 ns/iter 9959.447487483918 ns/iter 1.10
JSON_Parse_Decimal 11971.58707293284 ns/iter 10272.869079101545 ns/iter 1.17
JSON_Parse_Schema_ISO_Language 3729835.5268818852 ns/iter 3178669.9032259323 ns/iter 1.17
JSON_Fast_Hash_Helm_Chart_Lock 61.68389218584195 ns/iter 49.1641265606368 ns/iter 1.25
JSON_Equality_Helm_Chart_Lock 165.0131641618575 ns/iter 143.40399698048768 ns/iter 1.15
JSON_Divisible_By_Decimal 603.3300058097733 ns/iter 546.6078573480622 ns/iter 1.10
JSON_String_Equal/10 6.5450675447268525 ns/iter 4.610329787874727 ns/iter 1.42
JSON_String_Equal/100 7.1677480150966275 ns/iter 5.773147803940682 ns/iter 1.24
JSON_String_Equal_Small_By_Perfect_Hash/10 0.949621669703732 ns/iter 0.8640537760456707 ns/iter 1.10
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.30625142834658 ns/iter 9.790169864496978 ns/iter 1.46
JSON_String_Fast_Hash/10 2.490265444209305 ns/iter 2.01562181474663 ns/iter 1.24
JSON_String_Fast_Hash/100 2.4909899013129935 ns/iter 2.0163247270413573 ns/iter 1.24
JSON_String_Key_Hash/10 2.1809400326348265 ns/iter 1.7282017457577634 ns/iter 1.26
JSON_String_Key_Hash/100 9.023168673925602 ns/iter 7.195131514202905 ns/iter 1.25
JSON_Object_Defines_Miss_Same_Length 2.5601182919160084 ns/iter 3.475969586362996 ns/iter 0.74
JSON_Object_Defines_Miss_Too_Small 3.7340209884769107 ns/iter 3.5409069750143303 ns/iter 1.05
JSON_Object_Defines_Miss_Too_Large 3.7329310017583563 ns/iter 3.524789432741987 ns/iter 1.06
Pointer_Object_Traverse 26.709417335079905 ns/iter 31.297645961215615 ns/iter 0.85
Pointer_Object_Try_Traverse 29.157052064537258 ns/iter 27.677644212992984 ns/iter 1.05
Pointer_Push_Back_Pointer_To_Weak_Pointer 160.6269294018988 ns/iter 176.94008658576777 ns/iter 0.91
Pointer_Walker_Schema_ISO_Language 3071030.624453979 ns/iter 3067604.497816744 ns/iter 1.00
Schema_Frame_WoT_References 4803876.842465205 ns/iter 4301318.481481426 ns/iter 1.12
Schema_Frame_OMC_References 20052029.441173732 ns/iter 18091882.82051111 ns/iter 1.11
Schema_Frame_OMC_Locations 18693522.31578827 ns/iter 16563285.47618982 ns/iter 1.13
Schema_Frame_ISO_Language_Locations 103780636.99999984 ns/iter 89234336.14285971 ns/iter 1.16
Schema_Frame_KrakenD_References 39928716.00000095 ns/iter 33583913.09523951 ns/iter 1.19
Schema_Frame_KrakenD_Reachable 580649862.0000867 ns/iter 781308240.000044 ns/iter 0.74
Schema_Iterator_ISO_Language 2300783.5704917302 ns/iter 2132789.021406979 ns/iter 1.08
Schema_Frame_ISO_Language_Locations_To_JSON 135562584.74997663 ns/iter 128505791.59999141 ns/iter 1.05
Schema_Tracker_ISO_Language 29675227.652171046 ns/iter 23163435.137932755 ns/iter 1.28
Schema_Tracker_ISO_Language_To_JSON 24736022.964288753 ns/iter 23883125.099996503 ns/iter 1.04
Schema_Format_ISO_Language_To_JSON 111179848.00000614 ns/iter 93096362.99997237 ns/iter 1.19
Schema_Bundle_Meta_2020_12 1564015.3593725616 ns/iter 1445944.2128113534 ns/iter 1.08
Schema_Frame_Many_Resources_References 364459419.999946 ns/iter 351530394.00000805 ns/iter 1.04
Alterschema_Check_Readibility_ISO_Language_Set_3 222577585.66668904 ns/iter 182450893.49997556 ns/iter 1.22
Alterschema_Check_Readibility_OMC 32558822.952377602 ns/iter 28757890.416666027 ns/iter 1.13
Alterschema_Apply_Readibility_KrakenD 584935539.000071 ns/iter 488049233.0000834 ns/iter 1.20
EditorSchema_ForEditor_EmbeddedResources 13246806.622637965 ns/iter 11966291.186446773 ns/iter 1.11
URITemplateRouter_Create 16690.467945683762 ns/iter 12460.823489550416 ns/iter 1.34
URITemplateRouter_Match 174.6310889438057 ns/iter 152.54684760907386 ns/iter 1.14
URITemplateRouterView_Restore 6893.900436784795 ns/iter 2407.8200107520825 ns/iter 2.86
URITemplateRouterView_Match 150.68357844990632 ns/iter 131.49691851264961 ns/iter 1.15

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

@jviotti jviotti force-pushed the compiler-options-review branch from bb03df4 to e7f466a Compare April 28, 2025 15:44
@jviotti jviotti force-pushed the compiler-options-review branch 2 times, most recently from 254b639 to 6c15c4b Compare October 14, 2025 20:06
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/gcc)

Details
Benchmark suite Current: 84fdf4b Previous: 81cf10a Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.5061979723465315 ns/iter 2.7349962433904436 ns/iter 0.92
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.4734075377829186 ns/iter 2.6200953114470322 ns/iter 0.94
Regex_Period_Asterisk 2.714164290254995 ns/iter 2.68387346924832 ns/iter 1.01
Regex_Group_Period_Asterisk_Group 2.8739791880567225 ns/iter 2.6510257395769363 ns/iter 1.08
Regex_Period_Plus 2.6818235624227893 ns/iter 2.774723186331186 ns/iter 0.97
Regex_Period 2.718415571463998 ns/iter 2.605924886722381 ns/iter 1.04
Regex_Caret_Period_Plus_Dollar 2.3760079916542693 ns/iter 2.606175373008144 ns/iter 0.91
Regex_Caret_Group_Period_Plus_Group_Dollar 2.428270330092821 ns/iter 2.700639714692951 ns/iter 0.90
Regex_Caret_Period_Asterisk_Dollar 2.323453949706846 ns/iter 2.5823107537051566 ns/iter 0.90
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.3318048877644397 ns/iter 2.6705511170693574 ns/iter 0.87
Regex_Caret_X_Hyphen 7.493879526390623 ns/iter 9.035363132200562 ns/iter 0.83
Regex_Period_Md_Dollar 372.5974521721007 ns/iter 28.015347419588903 ns/iter 13.30
Regex_Caret_Slash_Period_Asterisk 5.819849765571235 ns/iter 6.50525231994248 ns/iter 0.89
Regex_Caret_Period_Range_Dollar 2.4160510074843518 ns/iter 2.5792609066595027 ns/iter 0.94
Regex_Nested_Backtrack 427.1909522726284 ns/iter 49.92789223406266 ns/iter 8.56
JSON_Array_Of_Objects_Unique 302.4944552212125 ns/iter 294.49087101523935 ns/iter 1.03
JSON_Parse_1 28624.708860807023 ns/iter 26251.762817365463 ns/iter 1.09
JSON_Parse_Real 31736.10232523735 ns/iter 26660.993113235152 ns/iter 1.19
JSON_Parse_Decimal 334651.18285374786 ns/iter 312956.72625420446 ns/iter 1.07
JSON_Fast_Hash_Helm_Chart_Lock 46.464656496189185 ns/iter 42.2879731210802 ns/iter 1.10
JSON_Equality_Helm_Chart_Lock 187.16121065710735 ns/iter 160.97007136314886 ns/iter 1.16
JSON_String_Equal/10 7.818785879536635 ns/iter 7.55944306848685 ns/iter 1.03
JSON_String_Equal/100 8.198344407652577 ns/iter 6.650898841533781 ns/iter 1.23
JSON_String_Equal_Small_By_Perfect_Hash/10 1.123218226119076 ns/iter 0.9977820943708621 ns/iter 1.13
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 4.825923583170675 ns/iter 4.24495366304181 ns/iter 1.14
JSON_String_Fast_Hash/10 2.6719710342020493 ns/iter 2.3513100612031295 ns/iter 1.14
JSON_String_Fast_Hash/100 2.387467341092734 ns/iter 2.2869754955260255 ns/iter 1.04
JSON_String_Key_Hash/10 1.6853040447914318 ns/iter 1.682012165761209 ns/iter 1.00
JSON_String_Key_Hash/100 3.137305374362536 ns/iter 2.923530092048078 ns/iter 1.07
JSON_Object_Defines_Miss_Same_Length 2.204742884230225 ns/iter 2.3805925324290333 ns/iter 0.93
JSON_Object_Defines_Miss_Too_Small 2.9058529920086262 ns/iter 2.2721114168526007 ns/iter 1.28
JSON_Object_Defines_Miss_Too_Large 2.1956190540049265 ns/iter 2.439948269350555 ns/iter 0.90
Pointer_Object_Traverse 60.79759671959386 ns/iter 72.56676904864419 ns/iter 0.84
Pointer_Object_Try_Traverse 47.99765959399496 ns/iter 53.5384804372379 ns/iter 0.90
Pointer_Push_Back_Pointer_To_Weak_Pointer 193.4587183886227 ns/iter 215.20235247882613 ns/iter 0.90
Schema_Frame_OMC_Instances 170506238.93737793 ns/iter 159267961.97891235 ns/iter 1.07
Schema_Frame_OMC_References 64675461.16222035 ns/iter 57142386.06966459 ns/iter 1.13
Schema_Frame_OMC_Locations 54400847.50835712 ns/iter 52977855.3889348 ns/iter 1.03
Schema_Bundle_Meta_2020_12 2930158.7925400846 ns/iter 2449733.1539018257 ns/iter 1.20

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

@jviotti jviotti force-pushed the compiler-options-review branch 3 times, most recently from b304eb0 to 84fdf4b Compare December 1, 2025 20:27
@jviotti jviotti force-pushed the compiler-options-review branch 5 times, most recently from 71804e8 to af202fb Compare February 17, 2026 13:36
@jviotti jviotti marked this pull request as ready for review February 17, 2026 14:09
@augmentcode
Copy link

augmentcode bot commented Feb 17, 2026

🤖 Augment PR Summary

Summary: Updates Sourcemeta’s CMake defaults for GCC/Clang compilation and linking with a focus on modern hardening guidance.

Changes:

  • Expanded default warning/hardening flags (format security, stack protector, strict flexible-array handling) and removed explicit -fstrict-aliasing.
  • Added optional control-flow protection flags on supported Linux architectures (CET/BTI).
  • Enabled _FORTIFY_SOURCE=3 (Release/RelWithDebInfo) and _GLIBCXX_ASSERTIONS (Debug on GCC/libstdc++).
  • Hardened executables with PIE and Linux ELF linker options.
  • Adjusted vendored PCRE2/sljit and mpdecimal builds for GCC warning suppression and less strict flex-array assumptions.

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

Fix All in Augment

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

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.

1 issue found across 4 files

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="cmake/common/compiler/options.cmake">

<violation number="1" location="cmake/common/compiler/options.cmake:120">
P1: Bug: Space-separated flags inside a generator expression are passed to the compiler as a single argument, not as three separate flags. CMake lists are semicolon-delimited; spaces inside a generator expression result value do not split into separate arguments. The compiler will receive one malformed option and likely error out.

Use semicolons to separate the flags, or use individual generator expressions for each flag.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

@jviotti jviotti marked this pull request as draft February 17, 2026 14:59
@jviotti jviotti force-pushed the compiler-options-review branch from 31cfa04 to 6151924 Compare March 5, 2026 15:10
@jviotti jviotti force-pushed the compiler-options-review branch 6 times, most recently from cde4599 to a27975f Compare March 5, 2026 16:43
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti force-pushed the compiler-options-review branch from a27975f to 11127ad Compare March 5, 2026 16:55
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