Skip to content

[WIP] Experiment with ClangTidy alongside compilation #1824

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 Jul 8, 2025

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

@jviotti jviotti force-pushed the clang-tidy-jviotti branch from 76cecdb to 881c921 Compare July 8, 2025 20: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: 1ee9188 Previous: 3a031c0 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.7337407577079813 ns/iter 2.7352203100575063 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.105353125000424 ns/iter 3.0993775404912207 ns/iter 1.00
Regex_Period_Asterisk 2.794244463038331 ns/iter 2.8129998201720543 ns/iter 0.99
Regex_Group_Period_Asterisk_Group 2.747105757701982 ns/iter 2.757704707359512 ns/iter 1.00
Regex_Period_Plus 2.8021817398203326 ns/iter 2.8185842398135295 ns/iter 0.99
Regex_Period 2.7926867398246085 ns/iter 2.792441650538709 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 2.792740644827778 ns/iter 2.7911908916115244 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 2.796751961788579 ns/iter 2.7892494630402 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 2.792385400538876 ns/iter 2.79197830107896 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.673754305648113 ns/iter 2.6935766505826892 ns/iter 0.99
Regex_Caret_X_Hyphen 5.892285999999558 ns/iter 5.905074107143297 ns/iter 1.00
Regex_Period_Md_Dollar 146.54685267857354 ns/iter 148.40026785713738 ns/iter 0.99
Regex_Caret_Slash_Period_Asterisk 5.878535714286062 ns/iter 5.879250000000411 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 3.099571874999794 ns/iter 3.1015830357138237 ns/iter 1.00
Regex_Nested_Backtrack 573.6524107142316 ns/iter 584.6332142855966 ns/iter 0.98
JSON_Array_Of_Objects_Unique 457.8031825454022 ns/iter 452.7780438987161 ns/iter 1.01
JSON_Parse_1 77288.28124999865 ns/iter 74650.63616070974 ns/iter 1.04
JSON_Fast_Hash_Helm_Chart_Lock 65.32126785714354 ns/iter 63.36641741069928 ns/iter 1.03
JSON_Equality_Helm_Chart_Lock 194.50185665195997 ns/iter 191.81072248310326 ns/iter 1.01
JSON_String_Equal/10 8.983001745611615 ns/iter 8.978920758926686 ns/iter 1.00
JSON_String_Equal/100 10.565989062500947 ns/iter 10.52002629232256 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 2.2609803571429308 ns/iter 2.1752342857139086 ns/iter 1.04
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 13.933912946428556 ns/iter 13.986220982147302 ns/iter 1.00
JSON_String_Fast_Hash/10 3.710917493373737 ns/iter 3.7135660647974693 ns/iter 1.00
JSON_String_Fast_Hash/100 3.715608207650926 ns/iter 3.7131541005121305 ns/iter 1.00
JSON_String_Key_Hash/10 7.606193080357419 ns/iter 7.680812912140136 ns/iter 0.99
JSON_String_Key_Hash/100 4.33759562500029 ns/iter 4.329169999999749 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 4.639638626427786 ns/iter 4.644093090723159 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.737459436124769 ns/iter 3.7124142790851034 ns/iter 1.01
JSON_Object_Defines_Miss_Too_Large 4.702698894425587 ns/iter 4.719250903590915 ns/iter 1.00
Pointer_Object_Traverse 49.66901999999891 ns/iter 49.47906249999586 ns/iter 1.00
Pointer_Object_Try_Traverse 73.16017857142754 ns/iter 72.23221428570729 ns/iter 1.01
Pointer_Push_Back_Pointer_To_Weak_Pointer 164.7568079078421 ns/iter 163.60026095540888 ns/iter 1.01
Schema_Frame_OMC_Instances 395885949.99997896 ns/iter 381256150.0000129 ns/iter 1.04
Schema_Frame_OMC_References 240358466.66667262 ns/iter 234637866.6666927 ns/iter 1.02
Schema_Frame_OMC_Locations 236482800.00001404 ns/iter 222665666.6666713 ns/iter 1.06
Schema_Bundle_Meta_2020_12 14814592.000000173 ns/iter 15023754.00004439 ns/iter 0.99

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

@jviotti jviotti force-pushed the clang-tidy-jviotti branch from 881c921 to be6a4b4 Compare July 8, 2025 21:05
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)

Benchmark suite Current: 1ee9188 Previous: 3a031c0 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.9540942142384286 ns/iter 1.8811278990842086 ns/iter 1.04
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.9454841766934037 ns/iter 1.8780546368691686 ns/iter 1.04
Regex_Period_Asterisk 1.9463243655374385 ns/iter 1.8794427367447597 ns/iter 1.04
Regex_Group_Period_Asterisk_Group 1.9680126301364238 ns/iter 1.9248241282783511 ns/iter 1.02
Regex_Period_Plus 1.625043871905099 ns/iter 1.6138654665069236 ns/iter 1.01
Regex_Period 1.6300280824101347 ns/iter 1.5699005837921307 ns/iter 1.04
Regex_Caret_Period_Plus_Dollar 1.6980071177199512 ns/iter 1.5710460863384972 ns/iter 1.08
Regex_Caret_Group_Period_Plus_Group_Dollar 1.648506805192351 ns/iter 1.5664740899631457 ns/iter 1.05
Regex_Caret_Period_Asterisk_Dollar 2.025284164589561 ns/iter 1.885127514315613 ns/iter 1.07
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.1439346525645036 ns/iter 1.9082405627460417 ns/iter 1.12
Regex_Caret_X_Hyphen 6.512940327427577 ns/iter 5.965914948919998 ns/iter 1.09
Regex_Period_Md_Dollar 71.5923521192954 ns/iter 67.05421986471359 ns/iter 1.07
Regex_Caret_Slash_Period_Asterisk 4.548574831404014 ns/iter 4.39116328865376 ns/iter 1.04
Regex_Caret_Period_Range_Dollar 1.968095042030709 ns/iter 1.8812151875307388 ns/iter 1.05
Regex_Nested_Backtrack 811.071451239826 ns/iter 785.7201238237856 ns/iter 1.03
JSON_Array_Of_Objects_Unique 208.61317557801186 ns/iter 198.7636052271669 ns/iter 1.05
JSON_Parse_1 21419.364862606137 ns/iter 20787.116745875406 ns/iter 1.03
JSON_Fast_Hash_Helm_Chart_Lock 24.171876652236282 ns/iter 23.488325849169467 ns/iter 1.03
JSON_Equality_Helm_Chart_Lock 117.30444871539059 ns/iter 113.27057142162786 ns/iter 1.04
JSON_String_Equal/10 5.550426974901328 ns/iter 5.3681473073203 ns/iter 1.03
JSON_String_Equal/100 5.230889601135439 ns/iter 5.044594826233741 ns/iter 1.04
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7746113499774583 ns/iter 0.7518991951103963 ns/iter 1.03
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.5779962874584257 ns/iter 3.4574415225791895 ns/iter 1.03
JSON_String_Fast_Hash/10 1.9669275579604513 ns/iter 1.8931494190398885 ns/iter 1.04
JSON_String_Fast_Hash/100 2.1133676192532618 ns/iter 1.8913182994911035 ns/iter 1.12
JSON_String_Key_Hash/10 1.6467753354496952 ns/iter 1.4349227829409341 ns/iter 1.15
JSON_String_Key_Hash/100 2.749749660320899 ns/iter 2.5099725700434057 ns/iter 1.10
JSON_Object_Defines_Miss_Same_Length 1.827278238026558 ns/iter 1.7306681498265648 ns/iter 1.06
JSON_Object_Defines_Miss_Too_Small 1.9916985495603015 ns/iter 1.8799359939308173 ns/iter 1.06
JSON_Object_Defines_Miss_Too_Large 1.8267339841884604 ns/iter 1.737022512677588 ns/iter 1.05
Pointer_Object_Traverse 53.59143369946977 ns/iter 51.13367392431867 ns/iter 1.05
Pointer_Object_Try_Traverse 37.28070221715685 ns/iter 35.8076190350455 ns/iter 1.04
Pointer_Push_Back_Pointer_To_Weak_Pointer 165.05757546419903 ns/iter 162.2685214035344 ns/iter 1.02
Schema_Frame_OMC_Instances 153518557.54852295 ns/iter 143765020.3704834 ns/iter 1.07
Schema_Frame_OMC_References 91494530.43937683 ns/iter 79111893.97176106 ns/iter 1.16
Schema_Frame_OMC_Locations 86230569.4156223 ns/iter 78295787.17549641 ns/iter 1.10
Schema_Bundle_Meta_2020_12 4817962.646484375 ns/iter 4559998.418770584 ns/iter 1.06

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: 1ee9188 Previous: 3a031c0 Ratio
Schema_Frame_OMC_Instances 179708832.75000915 ns/iter 181612137.0000019 ns/iter 0.99
Schema_Frame_OMC_References 102867401.7142878 ns/iter 105507852.28571971 ns/iter 0.97
Schema_Frame_OMC_Locations 98247763.42858447 ns/iter 98558846.85712875 ns/iter 1.00
Schema_Bundle_Meta_2020_12 6332415.381821606 ns/iter 6354937.336345756 ns/iter 1.00
Pointer_Object_Traverse 52.76771080540206 ns/iter 53.05060641423452 ns/iter 0.99
Pointer_Object_Try_Traverse 23.49438545651805 ns/iter 23.385560055953764 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 167.47797558074654 ns/iter 168.45915868419007 ns/iter 0.99
JSON_Array_Of_Objects_Unique 390.3274006755861 ns/iter 390.17084343230135 ns/iter 1.00
JSON_Parse_1 31646.389851313314 ns/iter 31719.82875693599 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 64.04170115326076 ns/iter 69.80309422335901 ns/iter 0.92
JSON_Equality_Helm_Chart_Lock 152.05268917925648 ns/iter 153.63553226990413 ns/iter 0.99
JSON_String_Equal/10 6.954738801472424 ns/iter 6.0306087802581185 ns/iter 1.15
JSON_String_Equal/100 6.652524827381814 ns/iter 6.653336601146783 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6231608771134964 ns/iter 0.6232897008526019 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 17.70124028825358 ns/iter 17.703445798850066 ns/iter 1.00
JSON_String_Fast_Hash/10 0.9356624374951193 ns/iter 0.9361999439199185 ns/iter 1.00
JSON_String_Fast_Hash/100 0.9323010423688338 ns/iter 0.9326822648952123 ns/iter 1.00
JSON_String_Key_Hash/10 1.5559400798880951 ns/iter 1.5662692533424618 ns/iter 0.99
JSON_String_Key_Hash/100 2.0321837220793637 ns/iter 2.026029078259684 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.4867119198794754 ns/iter 2.4880281002334854 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 2.4881663435949513 ns/iter 2.4877532730900347 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 2.7966260022189293 ns/iter 2.798935623727946 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 3.1082040882682613 ns/iter 3.111231907992648 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.7979888265152923 ns/iter 2.799974088440019 ns/iter 1.00
Regex_Period_Asterisk 2.7971058288674184 ns/iter 2.8002392619884646 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 2.797489273173506 ns/iter 2.7997865067207477 ns/iter 1.00
Regex_Period_Plus 3.1097918230118395 ns/iter 3.1095076033646407 ns/iter 1.00
Regex_Period 3.114915862338469 ns/iter 3.112219435269531 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.1078487353644393 ns/iter 3.1108147585206902 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 3.107964771885791 ns/iter 3.1094018593564945 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 4.039322124301398 ns/iter 4.04098606838981 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.140806529588645 ns/iter 4.0423917631852095 ns/iter 1.02
Regex_Caret_X_Hyphen 8.080012703746926 ns/iter 13.206360370093577 ns/iter 0.61
Regex_Period_Md_Dollar 89.31296248030608 ns/iter 89.84905318651826 ns/iter 0.99
Regex_Caret_Slash_Period_Asterisk 9.015702041293704 ns/iter 7.823507509835012 ns/iter 1.15
Regex_Caret_Period_Range_Dollar 3.44063026687933 ns/iter 3.4213732357705764 ns/iter 1.01
Regex_Nested_Backtrack 830.4201187709305 ns/iter 828.1520159194596 ns/iter 1.00

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

@jviotti jviotti force-pushed the clang-tidy-jviotti branch from be6a4b4 to 451629c Compare July 8, 2025 21:11
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
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