Skip to content

Review executable compiler options for Clang and GCC#1592

Closed
jviotti wants to merge 1 commit into
mainfrom
compiler-options-review
Closed

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

Conversation

@jviotti
Copy link
Copy Markdown
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
Copy Markdown

@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: cb74a27 Previous: 996af49 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 5.000128571428571 ns/iter 5.071661000000631 ns/iter 0.99
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.972189000000071 ns/iter 5.020396999999548 ns/iter 0.99
Regex_Period_Asterisk 4.976787054681869 ns/iter 5.559685000000627 ns/iter 0.90
Regex_Group_Period_Asterisk_Group 4.959149107142886 ns/iter 5.023882835942815 ns/iter 0.99
Regex_Period_Plus 4.611017421006923 ns/iter 4.715334385525521 ns/iter 0.98
Regex_Period 4.604599563850109 ns/iter 4.714246885522946 ns/iter 0.98
Regex_Caret_Period_Plus_Dollar 4.648263626446578 ns/iter 4.7137700456951634 ns/iter 0.99
Regex_Caret_Group_Period_Plus_Group_Dollar 4.614567197799744 ns/iter 4.724856707148409 ns/iter 0.98
Regex_Caret_Period_Asterisk_Dollar 4.962073214284959 ns/iter 5.014520999999377 ns/iter 0.99
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.9636149999992085 ns/iter 5.01413800000023 ns/iter 0.99
Regex_Caret_X_Hyphen 7.801502232140933 ns/iter 8.570183035713695 ns/iter 0.91
Regex_Period_Md_Dollar 71.6345870535611 ns/iter 46.402126035761924 ns/iter 1.54
Regex_Caret_Slash_Period_Asterisk 7.433678571430338 ns/iter 8.155968750000703 ns/iter 0.91
Regex_Caret_Period_Range_Dollar 5.357900999999856 ns/iter 5.659705357142489 ns/iter 0.95
Regex_Nested_Backtrack 63.88147321428862 ns/iter 57.69846428571717 ns/iter 1.11
JSON_Array_Of_Objects_Unique 566.4464999999836 ns/iter 511.6977969928926 ns/iter 1.11
JSON_Parse_1 12610.769817990684 ns/iter 11259.165625000735 ns/iter 1.12
JSON_Parse_Real 20813.25937500367 ns/iter 19119.595496491063 ns/iter 1.09
JSON_Parse_Decimal 17623.91288334376 ns/iter 17823.043955749512 ns/iter 0.99
JSON_Parse_Schema_ISO_Language 8093787.777779147 ns/iter 7446878.571427768 ns/iter 1.09
JSON_Fast_Hash_Helm_Chart_Lock 74.88856026786854 ns/iter 66.21597321429006 ns/iter 1.13
JSON_Equality_Helm_Chart_Lock 307.1058035714153 ns/iter 312.0312053571439 ns/iter 0.98
JSON_Divisible_By_Decimal 393.55608258923826 ns/iter 303.065149211472 ns/iter 1.30
JSON_String_Equal/10 14.530156408346881 ns/iter 16.501568862713 ns/iter 0.88
JSON_String_Equal/100 26.0241535714353 ns/iter 16.794055914325405 ns/iter 1.55
JSON_String_Equal_Small_By_Perfect_Hash/10 2.4771539285714947 ns/iter 2.593050220899181 ns/iter 0.96
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 13.792102170572607 ns/iter 14.314921811094914 ns/iter 0.96
JSON_String_Fast_Hash/10 4.771025938564334 ns/iter 5.049364999999852 ns/iter 0.94
JSON_String_Fast_Hash/100 4.632216304982506 ns/iter 5.0478179999993245 ns/iter 0.92
JSON_String_Key_Hash/10 5.3162700000007135 ns/iter 5.44953400000054 ns/iter 0.98
JSON_String_Key_Hash/100 18.695753738351826 ns/iter 18.9528055263645 ns/iter 0.99
JSON_Object_Defines_Miss_Same_Length 3.9659535338677383 ns/iter 4.101090855537812 ns/iter 0.97
JSON_Object_Defines_Miss_Too_Small 5.063921000000846 ns/iter 4.099118801962827 ns/iter 1.24
JSON_Object_Defines_Miss_Too_Large 4.114518206937808 ns/iter 4.442693828377619 ns/iter 0.93
Pointer_Object_Traverse 62.782979910735996 ns/iter 65.14803571429337 ns/iter 0.96
Pointer_Object_Try_Traverse 79.90111607144102 ns/iter 71.31076785714389 ns/iter 1.12
Pointer_Push_Back_Pointer_To_Weak_Pointer 154.59334821425077 ns/iter 193.68076729294253 ns/iter 0.80
Pointer_Walker_Schema_ISO_Language 14399726.000001464 ns/iter 12315932.142856566 ns/iter 1.17
Pointer_Maybe_Tracked_Deeply_Nested/0 2497085.5932203173 ns/iter 2452551.2711867597 ns/iter 1.02
Pointer_Maybe_Tracked_Deeply_Nested/1 3710598.395721664 ns/iter 3830886.0335192606 ns/iter 0.97
Pointer_Position_Tracker_Get_Deeply_Nested 706.3042828999919 ns/iter 648.4203464862013 ns/iter 1.09
URITemplateRouter_Create 43847.45000000123 ns/iter 43630.0250000059 ns/iter 1.00
URITemplateRouter_Match 255.29242657552498 ns/iter 279.00337500000205 ns/iter 0.92
URITemplateRouter_Match_BasePath 311.8098134140809 ns/iter 311.5041071428745 ns/iter 1.00
URITemplateRouterView_Restore 24628.77758060724 ns/iter 38951.27443912033 ns/iter 0.63
URITemplateRouterView_Match 183.60531996475794 ns/iter 217.45928125000094 ns/iter 0.84
URITemplateRouterView_Match_BasePath 206.62512500003064 ns/iter 212.29662499997914 ns/iter 0.97
URITemplateRouterView_Arguments 552.6657000000341 ns/iter 518.9009000000624 ns/iter 1.07
JSONL_Parse_Large 37803700.00000451 ns/iter 36213226.3157946 ns/iter 1.04
JSONL_Parse_Large_GZIP 35433875.00000108 ns/iter 35612578.94736963 ns/iter 0.99
HTML_Build_Table_100000 96571242.85714807 ns/iter 92028014.28572068 ns/iter 1.05
HTML_Render_Table_100000 8069491.111109529 ns/iter 7781909.999999294 ns/iter 1.04
GZIP_Compress_ISO_Language_Set_3_Locations 45259606.6666653 ns/iter 40948111.76470531 ns/iter 1.11
GZIP_Decompress_ISO_Language_Set_3_Locations 11905501.562502252 ns/iter 10504456.249998739 ns/iter 1.13
GZIP_Compress_ISO_Language_Set_3_Schema 2650206.4393937555 ns/iter 2294035.625000035 ns/iter 1.16
GZIP_Decompress_ISO_Language_Set_3_Schema 695300.558035683 ns/iter 662129.9107143232 ns/iter 1.05

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

Copy link
Copy Markdown

@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: cb74a27 Previous: 996af49 Ratio
GZIP_Compress_ISO_Language_Set_3_Locations 48270070.85714286 ns/iter 34836710.049998485 ns/iter 1.39
GZIP_Decompress_ISO_Language_Set_3_Locations 5240207.138461546 ns/iter 6425899.107526792 ns/iter 0.82
GZIP_Compress_ISO_Language_Set_3_Schema 2333803.3812707034 ns/iter 2082063.122387903 ns/iter 1.12
GZIP_Decompress_ISO_Language_Set_3_Schema 404255.5633313874 ns/iter 361131.32848987717 ns/iter 1.12
HTML_Build_Table_100000 59820997.25000012 ns/iter 60493228.41666556 ns/iter 0.99
HTML_Render_Table_100000 1997314.2832859904 ns/iter 3691918.730158637 ns/iter 0.54
JSONL_Parse_Large 15667037.244444752 ns/iter 14516946.416667528 ns/iter 1.08
JSONL_Parse_Large_GZIP 16787265.40476256 ns/iter 15567400.911110478 ns/iter 1.08
URITemplateRouter_Create 30276.586743290147 ns/iter 27997.67978317726 ns/iter 1.08
URITemplateRouter_Match 167.71800129990754 ns/iter 148.23474485962987 ns/iter 1.13
URITemplateRouter_Match_BasePath 191.15620495104963 ns/iter 163.04836587272177 ns/iter 1.17
URITemplateRouterView_Restore 7737.025829897321 ns/iter 3436.221131583589 ns/iter 2.25
URITemplateRouterView_Match 154.58648934082396 ns/iter 124.63336890265927 ns/iter 1.24
URITemplateRouterView_Match_BasePath 177.85877873241796 ns/iter 142.7335073990812 ns/iter 1.25
URITemplateRouterView_Arguments 481.2990599432525 ns/iter 535.8239652509906 ns/iter 0.90
Pointer_Object_Traverse 33.10597291580453 ns/iter 32.64525898596203 ns/iter 1.01
Pointer_Object_Try_Traverse 19.84255442287182 ns/iter 24.19148005896729 ns/iter 0.82
Pointer_Push_Back_Pointer_To_Weak_Pointer 150.32043150628184 ns/iter 151.10133273238083 ns/iter 0.99
Pointer_Walker_Schema_ISO_Language 3568139.6683672545 ns/iter 3447028.2727270825 ns/iter 1.04
Pointer_Maybe_Tracked_Deeply_Nested/0 1867519.2085563508 ns/iter 1741394.7890817514 ns/iter 1.07
Pointer_Maybe_Tracked_Deeply_Nested/1 1850561.4084879996 ns/iter 1889548.1076115388 ns/iter 0.98
Pointer_Position_Tracker_Get_Deeply_Nested 522.382926819637 ns/iter 411.48546296983426 ns/iter 1.27
JSON_Array_Of_Objects_Unique 382.7256394495089 ns/iter 335.5100959899843 ns/iter 1.14
JSON_Parse_1 9794.882632387877 ns/iter 8552.659592435959 ns/iter 1.15
JSON_Parse_Real 13704.58414658167 ns/iter 12498.144639473972 ns/iter 1.10
JSON_Parse_Decimal 19513.09177595804 ns/iter 16319.094087464071 ns/iter 1.20
JSON_Parse_Schema_ISO_Language 5740050.316239248 ns/iter 5359423.226277081 ns/iter 1.07
JSON_Fast_Hash_Helm_Chart_Lock 61.65344192703994 ns/iter 48.88659567351753 ns/iter 1.26
JSON_Equality_Helm_Chart_Lock 164.62714073349696 ns/iter 143.73351782060166 ns/iter 1.15
JSON_Divisible_By_Decimal 237.8187493850474 ns/iter 252.36401166512877 ns/iter 0.94
JSON_String_Equal/10 5.99437820905442 ns/iter 5.228852032962179 ns/iter 1.15
JSON_String_Equal/100 6.614385520965903 ns/iter 6.377666996710554 ns/iter 1.04
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7499710595401565 ns/iter 0.8255383732479992 ns/iter 0.91
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 25.219311433965945 ns/iter 17.011882698844524 ns/iter 1.48
JSON_String_Fast_Hash/10 0.9348815141877798 ns/iter 1.1527171951389252 ns/iter 0.81
JSON_String_Fast_Hash/100 0.9347688446347044 ns/iter 1.1533995859270267 ns/iter 0.81
JSON_String_Key_Hash/10 1.5599261072016146 ns/iter 1.7294667324437094 ns/iter 0.90
JSON_String_Key_Hash/100 12.445446823962925 ns/iter 11.816926228446292 ns/iter 1.05
JSON_Object_Defines_Miss_Same_Length 3.4252917994995253 ns/iter 3.563032889237239 ns/iter 0.96
JSON_Object_Defines_Miss_Too_Small 3.742345398494957 ns/iter 3.987450938131536 ns/iter 0.94
JSON_Object_Defines_Miss_Too_Large 3.1203886787493946 ns/iter 3.4833525162233676 ns/iter 0.90
Regex_Lower_S_Or_Upper_S_Asterisk 0.9348515109525097 ns/iter 1.1526150695104929 ns/iter 0.81
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.936325039060643 ns/iter 1.1527152888676717 ns/iter 0.81
Regex_Period_Asterisk 0.622809936820052 ns/iter 0.8649199463493001 ns/iter 0.72
Regex_Group_Period_Asterisk_Group 0.6233420862235679 ns/iter 0.8668915001485437 ns/iter 0.72
Regex_Period_Plus 0.9349866608439731 ns/iter 1.15363756499405 ns/iter 0.81
Regex_Period 0.9339701047949734 ns/iter 1.1529949164847808 ns/iter 0.81
Regex_Caret_Period_Plus_Dollar 0.6235971485636409 ns/iter 0.8643343709186108 ns/iter 0.72
Regex_Caret_Group_Period_Plus_Group_Dollar 0.623048801289551 ns/iter 0.8650338209213657 ns/iter 0.72
Regex_Caret_Period_Asterisk_Dollar 0.9342991718051138 ns/iter 1.152846077254568 ns/iter 0.81
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.9343578946198793 ns/iter 1.152717619518923 ns/iter 0.81
Regex_Caret_X_Hyphen 4.370932169125951 ns/iter 3.4594671796659795 ns/iter 1.26
Regex_Period_Md_Dollar 29.504133851099805 ns/iter 22.560203966470574 ns/iter 1.31
Regex_Caret_Slash_Period_Asterisk 4.364013433558326 ns/iter 3.173182498172676 ns/iter 1.38
Regex_Caret_Period_Range_Dollar 0.9360023210652881 ns/iter 1.155767748136661 ns/iter 0.81
Regex_Nested_Backtrack 38.65585671692718 ns/iter 32.86305724149127 ns/iter 1.18

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
Copy Markdown

@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: cb74a27 Previous: 996af49 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.8891562082856581 ns/iter 1.99489217626855 ns/iter 0.95
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.5700878398860794 ns/iter 1.6861685334666747 ns/iter 0.93
Regex_Period_Asterisk 1.5690946449647891 ns/iter 1.6694116735441809 ns/iter 0.94
Regex_Group_Period_Asterisk_Group 1.5834720162413751 ns/iter 1.698864488777129 ns/iter 0.93
Regex_Period_Plus 1.929527431112182 ns/iter 2.0129766149791792 ns/iter 0.96
Regex_Period 1.9220958072040182 ns/iter 2.003107118269774 ns/iter 0.96
Regex_Caret_Period_Plus_Dollar 1.8814816950092392 ns/iter 2.031875167699528 ns/iter 0.93
Regex_Caret_Group_Period_Plus_Group_Dollar 1.8795398482258774 ns/iter 1.9844138566035205 ns/iter 0.95
Regex_Caret_Period_Asterisk_Dollar 1.5748191854349958 ns/iter 1.6967254924117872 ns/iter 0.93
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.690096666490838 ns/iter 1.6467929940656327 ns/iter 1.03
Regex_Caret_X_Hyphen 5.770874162105598 ns/iter 6.120207693531953 ns/iter 0.94
Regex_Period_Md_Dollar 15.955597939890575 ns/iter 16.726275401018448 ns/iter 0.95
Regex_Caret_Slash_Period_Asterisk 4.078771772509196 ns/iter 4.462166551377133 ns/iter 0.91
Regex_Caret_Period_Range_Dollar 1.8813709137264119 ns/iter 1.9714456065431047 ns/iter 0.95
Regex_Nested_Backtrack 23.108722320365242 ns/iter 25.369276231412567 ns/iter 0.91
JSON_Array_Of_Objects_Unique 402.41438600200615 ns/iter 427.8338323726584 ns/iter 0.94
JSON_Parse_1 4436.336165731341 ns/iter 4634.188682101242 ns/iter 0.96
JSON_Parse_Real 6542.834112148625 ns/iter 7094.859780472465 ns/iter 0.92
JSON_Parse_Decimal 7476.566051296368 ns/iter 7877.72977537548 ns/iter 0.95
JSON_Parse_Schema_ISO_Language 3047293.815450742 ns/iter 3168097.981735262 ns/iter 0.96
JSON_Fast_Hash_Helm_Chart_Lock 56.44422923297866 ns/iter 56.764835471844506 ns/iter 0.99
JSON_Equality_Helm_Chart_Lock 123.78262949709115 ns/iter 134.515645849702 ns/iter 0.92
JSON_Divisible_By_Decimal 160.4610990628774 ns/iter 168.03767653130737 ns/iter 0.95
JSON_String_Equal/10 6.270204725771202 ns/iter 6.783221636184141 ns/iter 0.92
JSON_String_Equal/100 5.963901673640166 ns/iter 6.314499187094265 ns/iter 0.94
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6948842229298878 ns/iter 0.7688625345193694 ns/iter 0.90
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.0760523174050958 ns/iter 3.3069317702466323 ns/iter 0.93
JSON_String_Fast_Hash/10 2.263042707820136 ns/iter 2.3722114448994915 ns/iter 0.95
JSON_String_Fast_Hash/100 1.8849258349689046 ns/iter 1.9909340828096191 ns/iter 0.95
JSON_String_Key_Hash/10 1.2538891167856463 ns/iter 1.358390375880972 ns/iter 0.92
JSON_String_Key_Hash/100 1.9653889372808382 ns/iter 2.103934031907164 ns/iter 0.93
JSON_Object_Defines_Miss_Same_Length 2.200941696627415 ns/iter 2.3756094912769243 ns/iter 0.93
JSON_Object_Defines_Miss_Too_Small 2.282165552973952 ns/iter 2.3331078843896496 ns/iter 0.98
JSON_Object_Defines_Miss_Too_Large 2.2296056978709022 ns/iter 2.403571061680832 ns/iter 0.93
Pointer_Object_Traverse 13.873712612045933 ns/iter 14.08454933891073 ns/iter 0.99
Pointer_Object_Try_Traverse 21.43883668477547 ns/iter 24.395683152691596 ns/iter 0.88
Pointer_Push_Back_Pointer_To_Weak_Pointer 142.95071158212082 ns/iter 151.2711331296682 ns/iter 0.94
Pointer_Walker_Schema_ISO_Language 3523972.2899996196 ns/iter 4373050.578616021 ns/iter 0.81
Pointer_Maybe_Tracked_Deeply_Nested/0 918973.8520408425 ns/iter 1004827.742105207 ns/iter 0.91
Pointer_Maybe_Tracked_Deeply_Nested/1 1216187.5798479489 ns/iter 1370340.5407555318 ns/iter 0.89
Pointer_Position_Tracker_Get_Deeply_Nested 325.3297244373879 ns/iter 352.39494830234713 ns/iter 0.92
URITemplateRouter_Create 21702.203384597575 ns/iter 22599.210197080076 ns/iter 0.96
URITemplateRouter_Match 148.94289185386708 ns/iter 161.05943732985833 ns/iter 0.92
URITemplateRouter_Match_BasePath 178.22136934021472 ns/iter 187.3663243319823 ns/iter 0.95
URITemplateRouterView_Restore 8897.285892633396 ns/iter 10393.311205713384 ns/iter 0.86
URITemplateRouterView_Match 120.25632883540504 ns/iter 128.03408856376575 ns/iter 0.94
URITemplateRouterView_Match_BasePath 136.7575599687284 ns/iter 147.46795335204175 ns/iter 0.93
URITemplateRouterView_Arguments 373.963775686566 ns/iter 392.1211491007342 ns/iter 0.95
JSONL_Parse_Large 11981712.637930678 ns/iter 13416760.037039744 ns/iter 0.89
JSONL_Parse_Large_GZIP 12844886.363636347 ns/iter 13491839.285711184 ns/iter 0.95
HTML_Build_Table_100000 61152270.833332516 ns/iter 65030120.33332804 ns/iter 0.94
HTML_Render_Table_100000 2239330.945859933 ns/iter 2594776.513637953 ns/iter 0.86
GZIP_Compress_ISO_Language_Set_3_Locations 25695697.518518433 ns/iter 28340069.99999474 ns/iter 0.91
GZIP_Decompress_ISO_Language_Set_3_Locations 4462548.566878983 ns/iter 4836816.666664634 ns/iter 0.92
GZIP_Compress_ISO_Language_Set_3_Schema 1420566.9536292108 ns/iter 1544375.4573296034 ns/iter 0.92
GZIP_Decompress_ISO_Language_Set_3_Schema 264911.2153968963 ns/iter 278871.81495399907 ns/iter 0.95

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

Copy link
Copy Markdown

@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: cb74a27 Previous: 996af49 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.218726130212535 ns/iter 2.4617464735198813 ns/iter 0.90
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.1946758270605606 ns/iter 2.4629503499657517 ns/iter 0.89
Regex_Period_Asterisk 2.1875306490737114 ns/iter 2.461447909247068 ns/iter 0.89
Regex_Group_Period_Asterisk_Group 2.1863542176952766 ns/iter 2.4626694968205975 ns/iter 0.89
Regex_Period_Plus 2.5196610270876048 ns/iter 3.8660290066157454 ns/iter 0.65
Regex_Period 2.499797209949548 ns/iter 3.8668897935722066 ns/iter 0.65
Regex_Caret_Period_Plus_Dollar 2.230435394228271 ns/iter 3.515827301241879 ns/iter 0.63
Regex_Caret_Group_Period_Plus_Group_Dollar 2.2244832915144572 ns/iter 3.5175960603229157 ns/iter 0.63
Regex_Caret_Period_Asterisk_Dollar 2.2135075114623888 ns/iter 2.8141559602428456 ns/iter 0.79
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.1964554177421824 ns/iter 2.813280264053847 ns/iter 0.78
Regex_Caret_X_Hyphen 5.611379091561591 ns/iter 6.679662075736333 ns/iter 0.84
Regex_Period_Md_Dollar 27.703762196355974 ns/iter 27.133370253769645 ns/iter 1.02
Regex_Caret_Slash_Period_Asterisk 6.243126064888597 ns/iter 7.7337775837730085 ns/iter 0.81
Regex_Caret_Period_Range_Dollar 2.8022420866582167 ns/iter 3.8679085719414847 ns/iter 0.72
Regex_Nested_Backtrack 36.90371148890184 ns/iter 37.08380839501363 ns/iter 1.00
JSON_Array_Of_Objects_Unique 460.97675465285374 ns/iter 467.73604645545845 ns/iter 0.99
JSON_Parse_1 6845.096732508993 ns/iter 6625.421691151697 ns/iter 1.03
JSON_Parse_Real 11778.513808053574 ns/iter 10954.403339122733 ns/iter 1.08
JSON_Parse_Decimal 11283.00082101903 ns/iter 11394.179345014485 ns/iter 0.99
JSON_Parse_Schema_ISO_Language 3876303.832369905 ns/iter 4033681.369942262 ns/iter 0.96
JSON_Fast_Hash_Helm_Chart_Lock 66.32722575699466 ns/iter 79.57760659175645 ns/iter 0.83
JSON_Equality_Helm_Chart_Lock 175.39243534005712 ns/iter 175.49401607051848 ns/iter 1.00
JSON_Divisible_By_Decimal 268.4745722297312 ns/iter 250.24856556206265 ns/iter 1.07
JSON_String_Equal/10 6.554693205473196 ns/iter 6.334509874723609 ns/iter 1.03
JSON_String_Equal/100 7.172623060642003 ns/iter 7.0531610261846085 ns/iter 1.02
JSON_String_Equal_Small_By_Perfect_Hash/10 0.942360778938363 ns/iter 1.0547607768825498 ns/iter 0.89
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.66435247462359 ns/iter 12.335903130276737 ns/iter 0.86
JSON_String_Fast_Hash/10 3.1127839504479318 ns/iter 3.1829056861531755 ns/iter 0.98
JSON_String_Fast_Hash/100 3.1129438349442773 ns/iter 3.166041778132736 ns/iter 0.98
JSON_String_Key_Hash/10 2.1811332471884737 ns/iter 2.4699113063126683 ns/iter 0.88
JSON_String_Key_Hash/100 6.5377756781817915 ns/iter 7.732461329534765 ns/iter 0.85
JSON_Object_Defines_Miss_Same_Length 2.635848226065522 ns/iter 2.941673536948998 ns/iter 0.90
JSON_Object_Defines_Miss_Too_Small 2.6460801753745877 ns/iter 2.938470940816891 ns/iter 0.90
JSON_Object_Defines_Miss_Too_Large 3.736700250612488 ns/iter 4.232653920029838 ns/iter 0.88
Pointer_Object_Traverse 26.490479471168644 ns/iter 25.728986640721605 ns/iter 1.03
Pointer_Object_Try_Traverse 28.455039110867453 ns/iter 29.03584179437004 ns/iter 0.98
Pointer_Push_Back_Pointer_To_Weak_Pointer 160.14385725869468 ns/iter 170.56893216710625 ns/iter 0.94
Pointer_Walker_Schema_ISO_Language 3133026.526315637 ns/iter 3095371.191111048 ns/iter 1.01
Pointer_Maybe_Tracked_Deeply_Nested/0 1482001.7142858019 ns/iter 1439802.2163264586 ns/iter 1.03
Pointer_Maybe_Tracked_Deeply_Nested/1 1845681.5473682221 ns/iter 2118802.68814439 ns/iter 0.87
Pointer_Position_Tracker_Get_Deeply_Nested 656.0606848682913 ns/iter 691.859273502181 ns/iter 0.95
URITemplateRouter_Create 32303.32427651419 ns/iter 31668.02898864053 ns/iter 1.02
URITemplateRouter_Match 164.45049790929355 ns/iter 180.38885241972199 ns/iter 0.91
URITemplateRouter_Match_BasePath 191.18026407978076 ns/iter 217.16243898482122 ns/iter 0.88
URITemplateRouterView_Restore 7955.183029491601 ns/iter 8906.495076762563 ns/iter 0.89
URITemplateRouterView_Match 156.1634996511486 ns/iter 161.54534268349363 ns/iter 0.97
URITemplateRouterView_Match_BasePath 176.9873938352567 ns/iter 182.4441962196372 ns/iter 0.97
URITemplateRouterView_Arguments 432.2986192919116 ns/iter 454.4438626436328 ns/iter 0.95
JSONL_Parse_Large 12040475.482759293 ns/iter 11200660.90476167 ns/iter 1.07
JSONL_Parse_Large_GZIP 13211406.716981452 ns/iter 12426977.76785714 ns/iter 1.06
HTML_Build_Table_100000 68732892.45453924 ns/iter 90065439.12499864 ns/iter 0.76
HTML_Render_Table_100000 5432748.309523222 ns/iter 4930736.057971167 ns/iter 1.10
GZIP_Compress_ISO_Language_Set_3_Locations 34806455.400001824 ns/iter 36354047.84210406 ns/iter 0.96
GZIP_Decompress_ISO_Language_Set_3_Locations 4756552.993420745 ns/iter 4900219.573426614 ns/iter 0.97
GZIP_Compress_ISO_Language_Set_3_Schema 1903858.6630434003 ns/iter 2143698.3394492725 ns/iter 0.89
GZIP_Decompress_ISO_Language_Set_3_Schema 378684.5772358145 ns/iter 292513.49165275134 ns/iter 1.29

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
Copy Markdown

@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
Copy Markdown

augmentcode Bot commented Feb 17, 2026

🤖 Augment PR Summary

Summary: Updates default GCC/Clang executable hardening and tweaks third-party PCRE2 build flags.

Changes:

  • Adds stack-frame hardening flags for executable targets (stack protector + auto var init in non-Debug builds)
  • Suppresses GCC -Wstringop-overflow warnings when building bundled PCRE2/SLJIT

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@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.

Comment thread cmake/common/compiler/options.cmake Outdated
Comment thread cmake/common/compiler/options.cmake Outdated
Comment thread cmake/common/compiler/options.cmake Outdated
Copy link
Copy Markdown

@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.

Comment thread cmake/common/compiler/options.cmake Outdated
@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 7 times, most recently from a27975f to 11127ad Compare March 5, 2026 16:55
@jviotti jviotti force-pushed the compiler-options-review branch 8 times, most recently from ef1be16 to c0809e4 Compare May 28, 2026 22:17
@jviotti jviotti changed the title Review compiler options for Clang and GCC Review executable compiler options for Clang and GCC May 28, 2026
@jviotti jviotti marked this pull request as ready for review May 28, 2026 22:17
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti force-pushed the compiler-options-review branch from c0809e4 to cb74a27 Compare May 28, 2026 22:17
Copy link
Copy Markdown

@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. 1 suggestion posted.

Fix All in Augment

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

Comment thread cmake/common/targets/executable.cmake
Copy link
Copy Markdown

@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 3 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread cmake/common/targets/executable.cmake
@jviotti jviotti closed this May 28, 2026
@jviotti jviotti deleted the compiler-options-review branch May 28, 2026 22:33
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