Skip to content

Review compiler options for Clang and GCC #1592

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

jviotti
Copy link
Member

@jviotti jviotti commented Apr 1, 2025

Signed-off-by: Juan Cruz Viotti [email protected]

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

Benchmark suite Current: e7f466a Previous: 9ece629 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 7.334321428571807 ns/iter 7.238582589284956 ns/iter 1.01
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 6.977087915280722 ns/iter 7.186922991073073 ns/iter 0.97
Regex_Period_Asterisk 7.319277901786895 ns/iter 7.324078125000101 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 6.8523761160704 ns/iter 7.012809151785149 ns/iter 0.98
Regex_Period_Plus 7.2559508928574505 ns/iter 7.295920758928328 ns/iter 0.99
Regex_Period 7.2793270089275905 ns/iter 8.17339620535762 ns/iter 0.89
Regex_Caret_Period_Plus_Dollar 7.3107856816471735 ns/iter 7.133281249999918 ns/iter 1.02
Regex_Caret_Group_Period_Plus_Group_Dollar 7.310728794642784 ns/iter 7.6626267515052975 ns/iter 0.95
Regex_Caret_Period_Asterisk_Dollar 7.0457343750009365 ns/iter 7.096458705357276 ns/iter 0.99
Regex_Caret_Group_Period_Asterisk_Group_Dollar 7.24952790178384 ns/iter 7.069260044641875 ns/iter 1.03
Regex_Caret_X_Hyphen 11.895971428572237 ns/iter 11.858451785712987 ns/iter 1.00
Regex_Period_Md_Dollar 135.4449113640651 ns/iter 135.71005357143966 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 10.542026562497142 ns/iter 10.352818750000381 ns/iter 1.02
Regex_Caret_Period_Range_Dollar 7.601232142856621 ns/iter 7.673124999999662 ns/iter 0.99
Regex_Nested_Backtrack 653.0987499999696 ns/iter 597.0780000000104 ns/iter 1.09
JSON_Array_Of_Objects_Unique 443.181187499988 ns/iter 443.54406249993866 ns/iter 1.00
JSON_Parse_1 79025.91402170854 ns/iter 78598.14732142922 ns/iter 1.01
JSON_Fast_Hash_Helm_Chart_Lock 65.13539285716011 ns/iter 62.527473214300606 ns/iter 1.04
JSON_Equality_Helm_Chart_Lock 208.49912685271116 ns/iter 191.89515106205184 ns/iter 1.09
JSON_String_Equal/10 8.995818709839726 ns/iter 8.962416294642546 ns/iter 1.00
JSON_String_Equal/100 9.912512500001469 ns/iter 9.924993749997668 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 2.1650218749996952 ns/iter 2.168792187499946 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 15.335917531232145 ns/iter 15.519205030004276 ns/iter 0.99
JSON_String_Fast_Hash/10 4.0301294268397605 ns/iter 4.028940275052088 ns/iter 1.00
JSON_String_Fast_Hash/100 4.027983846478991 ns/iter 4.025149382186926 ns/iter 1.00
JSON_String_Key_Hash/10 8.167135677823577 ns/iter 8.488597729960597 ns/iter 0.96
JSON_String_Key_Hash/100 3.718580886217032 ns/iter 3.7188958862166483 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 4.644466751437792 ns/iter 4.6464576671629745 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 4.645355536750197 ns/iter 4.645550122522134 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.7158664219351616 ns/iter 3.711162940630173 ns/iter 1.00
Pointer_Object_Traverse 52.39054999999553 ns/iter 52.25305000001299 ns/iter 1.00
Pointer_Object_Try_Traverse 73.94689732144347 ns/iter 73.72185267856071 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 188.07636500683398 ns/iter 180.69897638607816 ns/iter 1.04
Schema_Frame_OMC_Instances 531288000.0001314 ns/iter 522643499.9999583 ns/iter 1.02
Schema_Frame_OMC_References 408140500.00005865 ns/iter 382809400.00004196 ns/iter 1.07
Schema_Frame_OMC_Locations 385207400.000013 ns/iter 374893950.0000006 ns/iter 1.03
Schema_Bundle_Meta_2020_12 18660189.189195327 ns/iter 18243972.972972974 ns/iter 1.02

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)

Benchmark suite Current: e7f466a Previous: 9ece629 Ratio
Schema_Frame_OMC_Instances 232332580.00000963 ns/iter 233324226.333328 ns/iter 1.00
Schema_Frame_OMC_References 151897334.00000024 ns/iter 149920087.74999022 ns/iter 1.01
Schema_Frame_OMC_Locations 145763009.60000026 ns/iter 146623503.800015 ns/iter 0.99
Schema_Bundle_Meta_2020_12 7621891.065201928 ns/iter 7407318.893608639 ns/iter 1.03
Pointer_Object_Traverse 50.27761342900041 ns/iter 47.202266524962255 ns/iter 1.07
Pointer_Object_Try_Traverse 23.072778055803226 ns/iter 23.0116858599084 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 185.83737862851027 ns/iter 150.3804963340303 ns/iter 1.24
JSON_Array_Of_Objects_Unique 406.4880961223898 ns/iter 436.28469567814074 ns/iter 0.93
JSON_Parse_1 34967.048749940535 ns/iter 32916.396263705356 ns/iter 1.06
JSON_Fast_Hash_Helm_Chart_Lock 68.98098128104745 ns/iter 63.84209355365039 ns/iter 1.08
JSON_Equality_Helm_Chart_Lock 148.67062580195054 ns/iter 151.30479646983005 ns/iter 0.98
JSON_String_Equal/10 6.038603026372618 ns/iter 6.66108164644916 ns/iter 0.91
JSON_String_Equal/100 6.658910241064751 ns/iter 7.274066960015373 ns/iter 0.92
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6230402536510911 ns/iter 0.6232851987202028 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 17.983498399994055 ns/iter 19.465445160946846 ns/iter 0.92
JSON_String_Fast_Hash/10 0.9326629478731363 ns/iter 0.9362480770552523 ns/iter 1.00
JSON_String_Fast_Hash/100 0.9375728759861925 ns/iter 0.9330836897480762 ns/iter 1.00
JSON_String_Key_Hash/10 1.5625783377852003 ns/iter 1.5637780778212511 ns/iter 1.00
JSON_String_Key_Hash/100 2.025175795645237 ns/iter 2.025183341723271 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.5036348607601506 ns/iter 2.8031540892092566 ns/iter 0.89
JSON_Object_Defines_Miss_Too_Small 2.802462039806028 ns/iter 2.488342135497965 ns/iter 1.13
JSON_Object_Defines_Miss_Too_Large 2.489225059079301 ns/iter 2.4877816694216643 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 3.1132777884017484 ns/iter 3.1144858094152785 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.8043684853835567 ns/iter 3.182391311968482 ns/iter 0.88
Regex_Period_Asterisk 2.8000024421446352 ns/iter 3.1131241956330333 ns/iter 0.90
Regex_Group_Period_Asterisk_Group 2.8049332510574287 ns/iter 3.117405775809724 ns/iter 0.90
Regex_Period_Plus 3.1132316467138206 ns/iter 3.4204639694582006 ns/iter 0.91
Regex_Period 2.8436647872458534 ns/iter 3.423935895691373 ns/iter 0.83
Regex_Caret_Period_Plus_Dollar 2.801415246950292 ns/iter 3.431916422143387 ns/iter 0.82
Regex_Caret_Group_Period_Plus_Group_Dollar 2.8102117578410777 ns/iter 3.4198927426399655 ns/iter 0.82
Regex_Caret_Period_Asterisk_Dollar 3.110760352954301 ns/iter 4.3512206246281595 ns/iter 0.71
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.112797707143035 ns/iter 4.37737859710745 ns/iter 0.71
Regex_Caret_X_Hyphen 13.143228934340106 ns/iter 13.68164655132682 ns/iter 0.96
Regex_Period_Md_Dollar 117.95887466288448 ns/iter 90.57539436517752 ns/iter 1.30
Regex_Caret_Slash_Period_Asterisk 9.025166111561026 ns/iter 9.647344134062562 ns/iter 0.94
Regex_Caret_Period_Range_Dollar 4.041687734157103 ns/iter 4.350616433176561 ns/iter 0.93
Regex_Nested_Backtrack 870.5770440876536 ns/iter 827.5835047504577 ns/iter 1.05

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)

Benchmark suite Current: e7f466a Previous: 9ece629 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.3485656558527963 ns/iter 1.574767857152245 ns/iter 1.49
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.0056215673013766 ns/iter 1.5693673345345125 ns/iter 1.28
Regex_Period_Asterisk 2.3409091339239025 ns/iter 1.5819762462877285 ns/iter 1.48
Regex_Group_Period_Asterisk_Group 2.037135607789865 ns/iter 1.6637755523756437 ns/iter 1.22
Regex_Period_Plus 2.337855718633879 ns/iter 1.9198772554683528 ns/iter 1.22
Regex_Period 2.336654149187257 ns/iter 1.9823466865633639 ns/iter 1.18
Regex_Caret_Period_Plus_Dollar 2.354630268427036 ns/iter 2.057492801876739 ns/iter 1.14
Regex_Caret_Group_Period_Plus_Group_Dollar 2.3144414275194123 ns/iter 1.9412063644167368 ns/iter 1.19
Regex_Caret_Period_Asterisk_Dollar 2.107907998216722 ns/iter 1.5935927270045294 ns/iter 1.32
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.013488583390379 ns/iter 1.5985896026750395 ns/iter 1.26
Regex_Caret_X_Hyphen 6.58576503558981 ns/iter 6.37747305767863 ns/iter 1.03
Regex_Period_Md_Dollar 71.91057467147698 ns/iter 67.2855632146718 ns/iter 1.07
Regex_Caret_Slash_Period_Asterisk 8.263330072594098 ns/iter 5.017365620331566 ns/iter 1.65
Regex_Caret_Period_Range_Dollar 2.7099226456068877 ns/iter 2.0571921365215387 ns/iter 1.32
Regex_Nested_Backtrack 719.7164226869203 ns/iter 759.3542551838794 ns/iter 0.95
JSON_Array_Of_Objects_Unique 338.35090256291323 ns/iter 334.6419706033151 ns/iter 1.01
JSON_Parse_1 21352.820135816233 ns/iter 21218.328857842884 ns/iter 1.01
JSON_Fast_Hash_Helm_Chart_Lock 47.84812342068038 ns/iter 47.79403583989895 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 119.28191584599509 ns/iter 116.80655133850854 ns/iter 1.02
JSON_String_Equal/10 7.608968612674623 ns/iter 7.5106010669323195 ns/iter 1.01
JSON_String_Equal/100 5.949702393977407 ns/iter 5.958428437970215 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.3138201732607918 ns/iter 0.3206868763227443 ns/iter 0.98
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.188483868488684 ns/iter 2.9104855357455097 ns/iter 1.10
JSON_String_Fast_Hash/10 1.5765210581056888 ns/iter 1.6079294646295317 ns/iter 0.98
JSON_String_Fast_Hash/100 1.8802768437852249 ns/iter 1.881418124795914 ns/iter 1.00
JSON_String_Key_Hash/10 1.2650013660124966 ns/iter 1.2633727072514704 ns/iter 1.00
JSON_String_Key_Hash/100 1.6963923068557185 ns/iter 1.702355736345567 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.201058504703897 ns/iter 2.199020649588253 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 2.4042312290792323 ns/iter 2.1943758307364662 ns/iter 1.10
JSON_Object_Defines_Miss_Too_Large 2.196383485623906 ns/iter 2.214965266967755 ns/iter 0.99
Pointer_Object_Traverse 16.681432306024217 ns/iter 16.15719851355412 ns/iter 1.03
Pointer_Object_Try_Traverse 21.587593451584834 ns/iter 27.370254468499105 ns/iter 0.79
Pointer_Push_Back_Pointer_To_Weak_Pointer 191.78698627146738 ns/iter 172.6089334009204 ns/iter 1.11
Schema_Frame_OMC_Instances 194715958.25001487 ns/iter 172608385.50001267 ns/iter 1.13
Schema_Frame_OMC_References 107886988.14285779 ns/iter 108121881.99999659 ns/iter 1.00
Schema_Frame_OMC_Locations 104045409.83334224 ns/iter 102840005.99999997 ns/iter 1.01
Schema_Bundle_Meta_2020_12 4857939.5277709775 ns/iter 4806145.828767625 ns/iter 1.01

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)

Benchmark suite Current: e7f466a Previous: 9ece629 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.430938600917968 ns/iter 2.187985461167824 ns/iter 1.57
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.418810437732767 ns/iter 2.1855993545790287 ns/iter 1.56
Regex_Period_Asterisk 3.419566411301476 ns/iter 2.177802603541178 ns/iter 1.57
Regex_Group_Period_Asterisk_Group 3.4196745382212264 ns/iter 2.181896788429569 ns/iter 1.57
Regex_Period_Plus 3.4233249442867106 ns/iter 2.37499629718214 ns/iter 1.44
Regex_Period 3.418816601343732 ns/iter 2.2016569400719006 ns/iter 1.55
Regex_Caret_Period_Plus_Dollar 3.4209917118810935 ns/iter 2.1987317569086446 ns/iter 1.56
Regex_Caret_Group_Period_Plus_Group_Dollar 3.4202808450499558 ns/iter 2.2066087543117248 ns/iter 1.55
Regex_Caret_Period_Asterisk_Dollar 3.4780393794909967 ns/iter 2.48594869940983 ns/iter 1.40
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.4164570833185075 ns/iter 2.4855835314271606 ns/iter 1.37
Regex_Caret_X_Hyphen 12.766227714367297 ns/iter 12.60582848872046 ns/iter 1.01
Regex_Period_Md_Dollar 79.03034876620556 ns/iter 74.01548571780499 ns/iter 1.07
Regex_Caret_Slash_Period_Asterisk 6.213543421294075 ns/iter 6.216955605958424 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 3.7316246293575848 ns/iter 4.0421184544655855 ns/iter 0.92
Regex_Nested_Backtrack 468.3125357415222 ns/iter 481.26802155019834 ns/iter 0.97
JSON_Array_Of_Objects_Unique 476.06857642860734 ns/iter 440.4484437560908 ns/iter 1.08
JSON_Parse_1 30379.424798779088 ns/iter 30289.161117819545 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 62.33208227961604 ns/iter 56.54499200944112 ns/iter 1.10
JSON_Equality_Helm_Chart_Lock 150.1722026531711 ns/iter 147.34159744998124 ns/iter 1.02
JSON_String_Equal/10 5.599355859441535 ns/iter 5.293114008954273 ns/iter 1.06
JSON_String_Equal/100 6.2214555778673715 ns/iter 5.910834618195606 ns/iter 1.05
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9480049531894454 ns/iter 0.9358461367693696 ns/iter 1.01
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.292288042708506 ns/iter 10.258997995477563 ns/iter 1.39
JSON_String_Fast_Hash/10 2.485688148427482 ns/iter 2.1887889576810386 ns/iter 1.14
JSON_String_Fast_Hash/100 2.4869053528001683 ns/iter 2.1789120353265767 ns/iter 1.14
JSON_String_Key_Hash/10 2.177758500658871 ns/iter 1.8689316751456038 ns/iter 1.17
JSON_String_Key_Hash/100 2.798592051969508 ns/iter 2.8040797549894414 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.606879183754004 ns/iter 3.737636351822636 ns/iter 0.70
JSON_Object_Defines_Miss_Too_Small 3.107612839543974 ns/iter 3.736004244497617 ns/iter 0.83
JSON_Object_Defines_Miss_Too_Large 2.6031151046754255 ns/iter 3.737323848907874 ns/iter 0.70
Pointer_Object_Traverse 44.686739312532076 ns/iter 44.487448946354505 ns/iter 1.00
Pointer_Object_Try_Traverse 53.15698076845542 ns/iter 52.332475123246866 ns/iter 1.02
Pointer_Push_Back_Pointer_To_Weak_Pointer 314.61953448839466 ns/iter 344.8642461728283 ns/iter 0.91
Schema_Frame_OMC_Instances 228420840.3333044 ns/iter 227707148.9999874 ns/iter 1.00
Schema_Frame_OMC_References 150650374.19999498 ns/iter 148236205.59998292 ns/iter 1.02
Schema_Frame_OMC_Locations 147175068.79999292 ns/iter 144580439.40001062 ns/iter 1.02
Schema_Bundle_Meta_2020_12 7476618.236556796 ns/iter 7426642.69148463 ns/iter 1.01

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