Skip to content

Comments

Review compiler options for Clang and GCC#1592

Draft
jviotti wants to merge 2 commits intomainfrom
compiler-options-review
Draft

Review compiler options for Clang and GCC#1592
jviotti wants to merge 2 commits 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: 31cfa04 Previous: a82a1db Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 4.4335200000006125 ns/iter 4.46827353476541 ns/iter 0.99
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.093807953738149 ns/iter 4.0835523196048635 ns/iter 1.00
Regex_Period_Asterisk 3.787540909260429 ns/iter 3.8024705289243936 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.7847512432419044 ns/iter 3.773492136118407 ns/iter 1.00
Regex_Period_Plus 3.776496651785826 ns/iter 3.7683069575563564 ns/iter 1.00
Regex_Period 3.789611936043398 ns/iter 3.768961600412748 ns/iter 1.01
Regex_Caret_Period_Plus_Dollar 3.778185528966708 ns/iter 3.773079636119576 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 3.7741794575452947 ns/iter 3.977900185674644 ns/iter 0.95
Regex_Caret_Period_Asterisk_Dollar 3.798476562498924 ns/iter 3.798437136074709 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.7777612432540075 ns/iter 3.7761528289209996 ns/iter 1.00
Regex_Caret_X_Hyphen 7.250755357142274 ns/iter 7.234037500000211 ns/iter 1.00
Regex_Period_Md_Dollar 35.50050992969707 ns/iter 35.36138056677071 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 6.911402901784872 ns/iter 6.9838772321416185 ns/iter 0.99
Regex_Caret_Period_Range_Dollar 4.712270099803606 ns/iter 4.735497331997677 ns/iter 1.00
Regex_Nested_Backtrack 107.11924999998956 ns/iter 106.96454687501245 ns/iter 1.00
JSON_Array_Of_Objects_Unique 452.40835872995405 ns/iter 462.08801238702154 ns/iter 0.98
JSON_Parse_1 11756.260937499263 ns/iter 11202.77857142631 ns/iter 1.05
JSON_Parse_Real 16375.766402827154 ns/iter 16180.825892858154 ns/iter 1.01
JSON_Parse_Decimal 187031.51479979785 ns/iter 187839.46604754118 ns/iter 1.00
JSON_Parse_Schema_ISO_Language 8766510.666667575 ns/iter 8458165.55555656 ns/iter 1.04
JSON_Fast_Hash_Helm_Chart_Lock 63.23614285713168 ns/iter 63.56367857143093 ns/iter 0.99
JSON_Equality_Helm_Chart_Lock 243.67699999995045 ns/iter 241.95245067501068 ns/iter 1.01
JSON_String_Equal/10 12.250901785713658 ns/iter 12.29036093749869 ns/iter 1.00
JSON_String_Equal/100 12.92391249999777 ns/iter 12.879348214283937 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 2.1970709374997455 ns/iter 2.19422676094434 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.858336103309538 ns/iter 12.882108928571208 ns/iter 1.00
JSON_String_Fast_Hash/10 3.4536184313337213 ns/iter 3.449215484911735 ns/iter 1.00
JSON_String_Fast_Hash/100 3.7693170030394483 ns/iter 3.843838029708398 ns/iter 0.98
JSON_String_Key_Hash/10 4.9631909999993695 ns/iter 4.660901515776331 ns/iter 1.06
JSON_String_Key_Hash/100 14.138901785715673 ns/iter 14.744711987745083 ns/iter 0.96
JSON_Object_Defines_Miss_Same_Length 3.80519810267924 ns/iter 3.7910018956284013 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 4.232751837914845 ns/iter 3.7723992789778245 ns/iter 1.12
JSON_Object_Defines_Miss_Too_Large 3.7789194575380183 ns/iter 3.7834832589288068 ns/iter 1.00
Pointer_Object_Traverse 54.16741000001366 ns/iter 53.96741964286126 ns/iter 1.00
Pointer_Object_Try_Traverse 73.30922321429512 ns/iter 74.80000000000027 ns/iter 0.98
Pointer_Push_Back_Pointer_To_Weak_Pointer 166.19608925417847 ns/iter 158.33084821425456 ns/iter 1.05
Pointer_Walker_Schema_ISO_Language 10942639.062498927 ns/iter 10997912.49999882 ns/iter 0.99
Schema_Frame_WoT_References 9612272.000000909 ns/iter 9599910.937502898 ns/iter 1.00
Schema_Frame_OMC_References 44269268.749999925 ns/iter 40686750.0000061 ns/iter 1.09
Schema_Frame_OMC_Locations 41177911.764701575 ns/iter 37544436.84210616 ns/iter 1.10
Schema_Frame_ISO_Language_Locations 211711800.00002703 ns/iter 194542724.9999625 ns/iter 1.09
Schema_Frame_KrakenD_References 93104157.14285877 ns/iter 87103371.42857887 ns/iter 1.07
Schema_Frame_KrakenD_Reachable 578694099.9998933 ns/iter 488765650.0000048 ns/iter 1.18
Schema_Iterator_ISO_Language 4646614.482757726 ns/iter 4287510.624999413 ns/iter 1.08
Schema_Frame_ISO_Language_Locations_To_JSON 273320850.0000046 ns/iter 259743600.00001678 ns/iter 1.05
Schema_Tracker_ISO_Language 51233993.33331993 ns/iter 47603400.000005946 ns/iter 1.08
Schema_Tracker_ISO_Language_To_JSON 57374172.72726733 ns/iter 52236909.999987796 ns/iter 1.10
Schema_Format_ISO_Language_To_JSON 207273800.00001478 ns/iter 194505800.0000396 ns/iter 1.07
Schema_Bundle_Meta_2020_12 2862803.6144514354 ns/iter 2820257.8571454394 ns/iter 1.02
Schema_Frame_Many_Resources_References 1496142299.999974 ns/iter 1429813100.0000467 ns/iter 1.05
Alterschema_Check_Readibility_ISO_Language_Set_3 338061999.9999226 ns/iter 317822750.0000048 ns/iter 1.06
Alterschema_Check_Readibility_OMC 61294800.000000164 ns/iter 57383399.99999715 ns/iter 1.07
Alterschema_Apply_Readibility_KrakenD 1031652500.0000638 ns/iter 988392199.9999075 ns/iter 1.04
EditorSchema_ForEditor_EmbeddedResources 27792404.166689266 ns/iter 26364257.692325037 ns/iter 1.05
URITemplateRouter_Create 22753.881250004324 ns/iter 23473.428867976418 ns/iter 0.97
URITemplateRouter_Match 207.28974999997263 ns/iter 206.93449999996005 ns/iter 1.00
URITemplateRouterView_Restore 33120.68790024782 ns/iter 31837.67871373458 ns/iter 1.04
URITemplateRouterView_Match 146.20977472281496 ns/iter 148.74548443097567 ns/iter 0.98

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: 31cfa04 Previous: a82a1db Ratio
URITemplateRouter_Create 14756.789967851782 ns/iter 14790.444212037351 ns/iter 1.00
URITemplateRouter_Match 156.93559471313736 ns/iter 158.1228620107358 ns/iter 0.99
URITemplateRouterView_Restore 9379.093190058835 ns/iter 9564.34010198937 ns/iter 0.98
URITemplateRouterView_Match 141.05812160488296 ns/iter 140.6961423338794 ns/iter 1.00
EditorSchema_ForEditor_EmbeddedResources 14256548.4400302 ns/iter 14088915.142848441 ns/iter 1.01
Alterschema_Check_Readibility_ISO_Language_Set_3 213678340.33336902 ns/iter 217666691.33338228 ns/iter 0.98
Alterschema_Check_Readibility_OMC 35001892.44999774 ns/iter 35487451.100004815 ns/iter 0.99
Alterschema_Apply_Readibility_KrakenD 572443485.9998837 ns/iter 677571722.0000387 ns/iter 0.84
Schema_Frame_WoT_References 5336111.315385167 ns/iter 5394352.138460607 ns/iter 0.99
Schema_Frame_OMC_References 22265909.249995276 ns/iter 22842166.733335033 ns/iter 0.97
Schema_Frame_OMC_Locations 20686064.205880728 ns/iter 21201482.969700284 ns/iter 0.98
Schema_Frame_ISO_Language_Locations 102556641.6666758 ns/iter 109319876.9999996 ns/iter 0.94
Schema_Frame_KrakenD_References 39806974.23528856 ns/iter 44042593.562494405 ns/iter 0.90
Schema_Frame_KrakenD_Reachable 530475823.99995005 ns/iter 641332674.9998305 ns/iter 0.83
Schema_Iterator_ISO_Language 2750458.7548634494 ns/iter 2694756.199233365 ns/iter 1.02
Schema_Frame_ISO_Language_Locations_To_JSON 322690738.9999951 ns/iter 328007419.00007325 ns/iter 0.98
Schema_Tracker_ISO_Language 32875409.38094935 ns/iter 35891876.45000038 ns/iter 0.92
Schema_Tracker_ISO_Language_To_JSON 33026075.333336417 ns/iter 36365801.842114374 ns/iter 0.91
Schema_Format_ISO_Language_To_JSON 110235739.16672073 ns/iter 115901544.66671266 ns/iter 0.95
Schema_Bundle_Meta_2020_12 1910997.7158497635 ns/iter 1913924.5054311042 ns/iter 1.00
Schema_Frame_Many_Resources_References 379904276.9999232 ns/iter 400108239.4999003 ns/iter 0.95
Pointer_Object_Traverse 49.70252761257772 ns/iter 48.22831160051994 ns/iter 1.03
Pointer_Object_Try_Traverse 24.341329411458574 ns/iter 24.69287322280824 ns/iter 0.99
Pointer_Push_Back_Pointer_To_Weak_Pointer 173.78916643341452 ns/iter 153.59195215150314 ns/iter 1.13
Pointer_Walker_Schema_ISO_Language 3482485.6341468305 ns/iter 3594579.4090901823 ns/iter 0.97
JSON_Array_Of_Objects_Unique 397.87217263757947 ns/iter 428.8779831115114 ns/iter 0.93
JSON_Parse_1 11680.966071754696 ns/iter 11812.256134322259 ns/iter 0.99
JSON_Parse_Real 16511.28637876965 ns/iter 17178.47818367414 ns/iter 0.96
JSON_Parse_Decimal 110393.04600408002 ns/iter 111643.17797285253 ns/iter 0.99
JSON_Parse_Schema_ISO_Language 6502007.224298722 ns/iter 6652510.761904567 ns/iter 0.98
JSON_Fast_Hash_Helm_Chart_Lock 53.541972987112636 ns/iter 63.594925200978665 ns/iter 0.84
JSON_Equality_Helm_Chart_Lock 159.65012932566387 ns/iter 154.95642480711533 ns/iter 1.03
JSON_String_Equal/10 6.793929756856605 ns/iter 6.2755212505537035 ns/iter 1.08
JSON_String_Equal/100 7.3995259319189755 ns/iter 6.900424942367417 ns/iter 1.07
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9345679859463801 ns/iter 0.6238680248763804 ns/iter 1.50
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 13.72918588734215 ns/iter 13.483176845827536 ns/iter 1.02
JSON_String_Fast_Hash/10 1.9062824746450495 ns/iter 1.9486272138636418 ns/iter 0.98
JSON_String_Fast_Hash/100 1.910935208556332 ns/iter 1.9466484396554526 ns/iter 0.98
JSON_String_Key_Hash/10 1.245851328739492 ns/iter 1.558140336327547 ns/iter 0.80
JSON_String_Key_Hash/100 12.43526425945149 ns/iter 12.432445854329055 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.499894307812822 ns/iter 2.8022276235076857 ns/iter 0.89
JSON_Object_Defines_Miss_Too_Small 2.8018213812889425 ns/iter 2.7996713176397297 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 2.4918579781557035 ns/iter 2.800602258578164 ns/iter 0.89
Regex_Lower_S_Or_Upper_S_Asterisk 3.4245797274391854 ns/iter 3.112341784084916 ns/iter 1.10
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.422933026772371 ns/iter 3.112017399040608 ns/iter 1.10
Regex_Period_Asterisk 3.4224561772761812 ns/iter 3.1120537274653266 ns/iter 1.10
Regex_Group_Period_Asterisk_Group 3.4247216129086886 ns/iter 3.1130774576987585 ns/iter 1.10
Regex_Period_Plus 3.428983293833085 ns/iter 3.4236954083771507 ns/iter 1.00
Regex_Period 3.4237601071881 ns/iter 3.4242296971530948 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.4277611808965207 ns/iter 3.426486359384929 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 3.422499437667071 ns/iter 3.4355174826011856 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 4.664998170167981 ns/iter 4.354412502528141 ns/iter 1.07
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.666693160994153 ns/iter 4.353795583561018 ns/iter 1.07
Regex_Caret_X_Hyphen 13.076214666918212 ns/iter 13.68984153377078 ns/iter 0.96
Regex_Period_Md_Dollar 427.4848265821113 ns/iter 35.2159619167384 ns/iter 12.14
Regex_Caret_Slash_Period_Asterisk 9.958794331815477 ns/iter 7.782362927853833 ns/iter 1.28
Regex_Caret_Period_Range_Dollar 4.682999306256664 ns/iter 3.113336156502605 ns/iter 1.50
Regex_Nested_Backtrack 459.5900274171041 ns/iter 57.207934459901885 ns/iter 8.03

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: 31cfa04 Previous: a82a1db Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.9326909048757863 ns/iter 1.679267594731689 ns/iter 1.15
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.8966693006788065 ns/iter 1.6269551002012013 ns/iter 1.17
Regex_Period_Asterisk 1.8601147162226201 ns/iter 1.6321183025137396 ns/iter 1.14
Regex_Group_Period_Asterisk_Group 1.9373150948428586 ns/iter 1.5909815302386456 ns/iter 1.22
Regex_Period_Plus 2.119188340390348 ns/iter 1.9951370408805837 ns/iter 1.06
Regex_Period 2.079365290362228 ns/iter 2.066944996599478 ns/iter 1.01
Regex_Caret_Period_Plus_Dollar 2.2176133492586856 ns/iter 2.0065930234985236 ns/iter 1.11
Regex_Caret_Group_Period_Plus_Group_Dollar 2.05835180028826 ns/iter 2.0156039094600318 ns/iter 1.02
Regex_Caret_Period_Asterisk_Dollar 1.7550187903766306 ns/iter 1.5938844102071372 ns/iter 1.10
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.7853989755824369 ns/iter 1.6312499260541031 ns/iter 1.09
Regex_Caret_X_Hyphen 6.9076803861378995 ns/iter 6.338495191958294 ns/iter 1.09
Regex_Period_Md_Dollar 345.76247084275496 ns/iter 20.122031171056776 ns/iter 17.18
Regex_Caret_Slash_Period_Asterisk 6.015647117790361 ns/iter 6.160146290201824 ns/iter 0.98
Regex_Caret_Period_Range_Dollar 2.0681334384389216 ns/iter 1.8929066809136739 ns/iter 1.09
Regex_Nested_Backtrack 321.04246742304537 ns/iter 31.039264384938445 ns/iter 10.34
JSON_Array_Of_Objects_Unique 413.0299905831895 ns/iter 384.6317622579617 ns/iter 1.07
JSON_Parse_1 7268.477151738465 ns/iter 6507.575638054295 ns/iter 1.12
JSON_Parse_Real 8223.285228979408 ns/iter 7077.552482160882 ns/iter 1.16
JSON_Parse_Decimal 292637.39704874414 ns/iter 233061.75233302126 ns/iter 1.26
JSON_Parse_Schema_ISO_Language 7831900.614583276 ns/iter 6485196.581197825 ns/iter 1.21
JSON_Fast_Hash_Helm_Chart_Lock 71.88687240407394 ns/iter 68.5221546839493 ns/iter 1.05
JSON_Equality_Helm_Chart_Lock 191.40894749931064 ns/iter 158.4440536961515 ns/iter 1.21
JSON_String_Equal/10 9.677947482603798 ns/iter 7.4410232075476985 ns/iter 1.30
JSON_String_Equal/100 10.649211777605318 ns/iter 7.196318544362604 ns/iter 1.48
JSON_String_Equal_Small_By_Perfect_Hash/10 1.255107642885843 ns/iter 0.7668459154982937 ns/iter 1.64
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 4.281462314451946 ns/iter 3.3691653039417826 ns/iter 1.27
JSON_String_Fast_Hash/10 2.7912533840622715 ns/iter 2.4639477895041253 ns/iter 1.13
JSON_String_Fast_Hash/100 2.2502541134353344 ns/iter 2.0009508874966997 ns/iter 1.12
JSON_String_Key_Hash/10 1.5076284621244562 ns/iter 1.3244285319013407 ns/iter 1.14
JSON_String_Key_Hash/100 2.4094580021551852 ns/iter 2.3032906281196133 ns/iter 1.05
JSON_Object_Defines_Miss_Same_Length 2.5067236454198447 ns/iter 2.2949619785138804 ns/iter 1.09
JSON_Object_Defines_Miss_Too_Small 2.5364689510498755 ns/iter 2.3536283223119256 ns/iter 1.08
JSON_Object_Defines_Miss_Too_Large 2.436569475203505 ns/iter 2.245434779994593 ns/iter 1.09
Pointer_Object_Traverse 15.885767399559445 ns/iter 13.896438799049287 ns/iter 1.14
Pointer_Object_Try_Traverse 26.108215585874945 ns/iter 20.601294521840334 ns/iter 1.27
Pointer_Push_Back_Pointer_To_Weak_Pointer 214.45750278830502 ns/iter 154.13347296947373 ns/iter 1.39
Pointer_Walker_Schema_ISO_Language 5423548.801802 ns/iter 5010912.4999986915 ns/iter 1.08
Schema_Frame_WoT_References 5564348.873015602 ns/iter 4819809.006712847 ns/iter 1.15
Schema_Frame_OMC_References 32478221.52631766 ns/iter 25338854.153845273 ns/iter 1.28
Schema_Frame_OMC_Locations 33003338.541666 ns/iter 24206948.599991545 ns/iter 1.36
Schema_Frame_ISO_Language_Locations 156599066.7999813 ns/iter 82572535.7142671 ns/iter 1.90
Schema_Frame_KrakenD_References 73241750.00000347 ns/iter 45197904.71428158 ns/iter 1.62
Schema_Frame_KrakenD_Reachable 719170042.0003145 ns/iter 387623937.500166 ns/iter 1.86
Schema_Iterator_ISO_Language 3721784.3445942714 ns/iter 2006248.791304392 ns/iter 1.86
Schema_Frame_ISO_Language_Locations_To_JSON 138703000.0000209 ns/iter 84303452.42855504 ns/iter 1.65
Schema_Tracker_ISO_Language 47588517.85714211 ns/iter 31184644.91304305 ns/iter 1.53
Schema_Tracker_ISO_Language_To_JSON 22166794.24999768 ns/iter 14600575.520830715 ns/iter 1.52
Schema_Format_ISO_Language_To_JSON 125611416.80002947 ns/iter 73064265.87501846 ns/iter 1.72
Schema_Bundle_Meta_2020_12 2641248.285255252 ns/iter 1115969.3136069109 ns/iter 2.37
Schema_Frame_Many_Resources_References 638193250.0000857 ns/iter 253032971.99995235 ns/iter 2.52
Alterschema_Check_Readibility_ISO_Language_Set_3 202585763.66669938 ns/iter 139270225.00001842 ns/iter 1.45
Alterschema_Check_Readibility_OMC 42066075.00000246 ns/iter 34646817.708316274 ns/iter 1.21
Alterschema_Apply_Readibility_KrakenD 734085625.0000342 ns/iter 563988999.9997649 ns/iter 1.30
EditorSchema_ForEditor_EmbeddedResources 11085091.018508641 ns/iter 10034555.940317443 ns/iter 1.10
URITemplateRouter_Create 17245.60587963732 ns/iter 17576.035871544493 ns/iter 0.98
URITemplateRouter_Match 173.7365047222854 ns/iter 184.00323004638653 ns/iter 0.94
URITemplateRouterView_Restore 12455.174946945099 ns/iter 9792.478791640275 ns/iter 1.27
URITemplateRouterView_Match 131.5727831014433 ns/iter 113.59482114983797 ns/iter 1.16

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: 31cfa04 Previous: a82a1db Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.4222454099721853 ns/iter 3.1377201355109454 ns/iter 1.09
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.421218965216142 ns/iter 3.1104862309744714 ns/iter 1.10
Regex_Period_Asterisk 2.8126254827229915 ns/iter 3.112015352128686 ns/iter 0.90
Regex_Group_Period_Asterisk_Group 3.4233445920686787 ns/iter 3.117029512481525 ns/iter 1.10
Regex_Period_Plus 3.4227399515509296 ns/iter 2.967268901438024 ns/iter 1.15
Regex_Period 3.4279082088567803 ns/iter 3.09681460258807 ns/iter 1.11
Regex_Caret_Period_Plus_Dollar 3.119303086316959 ns/iter 2.91988825877388 ns/iter 1.07
Regex_Caret_Group_Period_Plus_Group_Dollar 3.41967986716111 ns/iter 2.917337212945585 ns/iter 1.17
Regex_Caret_Period_Asterisk_Dollar 3.422139422701407 ns/iter 3.111023573852181 ns/iter 1.10
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.421266813179435 ns/iter 3.428679392256029 ns/iter 1.00
Regex_Caret_X_Hyphen 13.377233534829394 ns/iter 12.445641842394005 ns/iter 1.07
Regex_Period_Md_Dollar 403.39226659000457 ns/iter 27.365071090832256 ns/iter 14.74
Regex_Caret_Slash_Period_Asterisk 5.931785472111843 ns/iter 7.15833992835065 ns/iter 0.83
Regex_Caret_Period_Range_Dollar 3.4230776201714352 ns/iter 4.045894694194746 ns/iter 0.85
Regex_Nested_Backtrack 430.18297654951147 ns/iter 48.76711035445232 ns/iter 8.82
JSON_Array_Of_Objects_Unique 489.83583197349674 ns/iter 447.9631748313134 ns/iter 1.09
JSON_Parse_1 8341.216611852078 ns/iter 8218.533187042232 ns/iter 1.01
JSON_Parse_Real 12195.931261971578 ns/iter 11972.477388829353 ns/iter 1.02
JSON_Parse_Decimal 81901.30684482085 ns/iter 81424.85408672281 ns/iter 1.01
JSON_Parse_Schema_ISO_Language 7573656.467391619 ns/iter 8146084.813952891 ns/iter 0.93
JSON_Fast_Hash_Helm_Chart_Lock 59.09437567883124 ns/iter 61.64936148523388 ns/iter 0.96
JSON_Equality_Helm_Chart_Lock 160.81567482940991 ns/iter 168.951154946435 ns/iter 0.95
JSON_String_Equal/10 6.22978892809679 ns/iter 6.869239834901144 ns/iter 0.91
JSON_String_Equal/100 6.853558961796299 ns/iter 7.480202261708135 ns/iter 0.92
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9372643858551726 ns/iter 0.9364482101323477 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.888467600071968 ns/iter 14.63724059293981 ns/iter 0.74
JSON_String_Fast_Hash/10 2.8016395451367186 ns/iter 2.801858975570483 ns/iter 1.00
JSON_String_Fast_Hash/100 2.8016502104456205 ns/iter 2.8033683198354984 ns/iter 1.00
JSON_String_Key_Hash/10 2.491566690873825 ns/iter 2.7078888895580895 ns/iter 0.92
JSON_String_Key_Hash/100 6.535872158882689 ns/iter 9.022358092680795 ns/iter 0.72
JSON_Object_Defines_Miss_Same_Length 2.8841741629508073 ns/iter 3.7410575069469743 ns/iter 0.77
JSON_Object_Defines_Miss_Too_Small 2.6476092511057048 ns/iter 3.73980235160438 ns/iter 0.71
JSON_Object_Defines_Miss_Too_Large 2.6433243248998646 ns/iter 3.738792800540479 ns/iter 0.71
Pointer_Object_Traverse 44.07341576058417 ns/iter 43.913308036755765 ns/iter 1.00
Pointer_Object_Try_Traverse 57.124404274522085 ns/iter 53.743308682742324 ns/iter 1.06
Pointer_Push_Back_Pointer_To_Weak_Pointer 331.7147164307665 ns/iter 304.34293440301434 ns/iter 1.09
Pointer_Walker_Schema_ISO_Language 3215871.611872313 ns/iter 3167944.5429867534 ns/iter 1.02
Schema_Frame_WoT_References 4806458.09722249 ns/iter 4800654.2808216745 ns/iter 1.00
Schema_Frame_OMC_References 20126324.14285755 ns/iter 19887562.028569456 ns/iter 1.01
Schema_Frame_OMC_Locations 18761899.342103716 ns/iter 18247191.394736044 ns/iter 1.03
Schema_Frame_ISO_Language_Locations 104355560.66666625 ns/iter 96900066.8333327 ns/iter 1.08
Schema_Frame_KrakenD_References 41765776.0588233 ns/iter 36784310.05263112 ns/iter 1.14
Schema_Frame_KrakenD_Reachable 631124923.0000157 ns/iter 560186864.000002 ns/iter 1.13
Schema_Iterator_ISO_Language 2392830.1620689407 ns/iter 2329070.781144752 ns/iter 1.03
Schema_Frame_ISO_Language_Locations_To_JSON 132361480.24998328 ns/iter 128999809.74998471 ns/iter 1.03
Schema_Tracker_ISO_Language 29593275.826088123 ns/iter 28258854.833334606 ns/iter 1.05
Schema_Tracker_ISO_Language_To_JSON 24573613.321426332 ns/iter 22064552.935482368 ns/iter 1.11
Schema_Format_ISO_Language_To_JSON 109524083.83334006 ns/iter 103770170.4285772 ns/iter 1.06
Schema_Bundle_Meta_2020_12 1694452.1084346285 ns/iter 1668608.3806111724 ns/iter 1.02
Schema_Frame_Many_Resources_References 362898319.4999478 ns/iter 353781673.0000145 ns/iter 1.03
Alterschema_Check_Readibility_ISO_Language_Set_3 224850386.33332503 ns/iter 208640176.6666768 ns/iter 1.08
Alterschema_Check_Readibility_OMC 32357403.22727245 ns/iter 32155226.363634232 ns/iter 1.01
Alterschema_Apply_Readibility_KrakenD 587427201.9998443 ns/iter 576468258.0000908 ns/iter 1.02
EditorSchema_ForEditor_EmbeddedResources 13333732.519225368 ns/iter 13454297.999997012 ns/iter 0.99
URITemplateRouter_Create 17268.667727562806 ns/iter 16499.645569621258 ns/iter 1.05
URITemplateRouter_Match 172.42525033531547 ns/iter 176.9616936326185 ns/iter 0.97
URITemplateRouterView_Restore 9390.844697412427 ns/iter 9345.331766793506 ns/iter 1.00
URITemplateRouterView_Match 140.6961346526552 ns/iter 122.45440830687718 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 4 times, most recently from adf0fa8 to 71804e8 Compare February 17, 2026 13:24
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti force-pushed the compiler-options-review branch 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.

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti marked this pull request as draft February 17, 2026 14:59
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