Skip to content
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

Extend SchemaIteratorEntry to report parent schemas #1543

Merged
merged 1 commit into from
Feb 10, 2025
Merged

Conversation

jviotti
Copy link
Member

@jviotti jviotti commented Feb 10, 2025

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

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: bdb1838 Previous: 34121cd Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.2098774943506507 ns/iter 2.209813434528931 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.206721143962932 ns/iter 2.2025275210715924 ns/iter 1.00
Regex_Period_Asterisk 2.1962254019815037 ns/iter 2.203560233419903 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 2.2070113895068566 ns/iter 2.198724327510834 ns/iter 1.00
Regex_Period_Plus 2.487506685327321 ns/iter 2.4864032987367355 ns/iter 1.00
Regex_Period 2.487168548731511 ns/iter 2.3848303266237787 ns/iter 1.04
Regex_Caret_Period_Plus_Dollar 2.4867372480159267 ns/iter 2.2193648521651497 ns/iter 1.12
Regex_Caret_Group_Period_Plus_Group_Dollar 2.490844240581966 ns/iter 2.3207160796484176 ns/iter 1.07
Regex_Caret_Period_Asterisk_Dollar 3.41803362294252 ns/iter 2.499121410432373 ns/iter 1.37
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.417868344582815 ns/iter 2.4862461735113626 ns/iter 1.37
Regex_Caret_X_Hyphen 12.567930962864652 ns/iter 13.049868747812988 ns/iter 0.96
Regex_Period_Md_Dollar 74.17937860492911 ns/iter 74.90365308531223 ns/iter 0.99
Regex_Caret_Slash_Period_Asterisk 7.155313029669339 ns/iter 6.214978248966695 ns/iter 1.15
Regex_Caret_Period_Range_Dollar 3.735378949999519 ns/iter 3.7309883256901157 ns/iter 1.00
Regex_Nested_Backtrack 486.49072328240095 ns/iter 491.01428933786144 ns/iter 0.99
JSON_Array_Of_Objects_Unique 400.9489031309288 ns/iter 401.4332234048339 ns/iter 1.00
JSON_Parse_1 30096.21303150402 ns/iter 30383.894133860053 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 59.157606016332025 ns/iter 59.42497818900618 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 154.23532216595433 ns/iter 161.94063564575555 ns/iter 0.95
JSON_String_Equal/10 6.852095412629003 ns/iter 7.786139876445287 ns/iter 0.88
JSON_String_Equal/100 7.471499445001749 ns/iter 8.406917293200806 ns/iter 0.89
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9386207959482561 ns/iter 0.9377609799609511 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.627640047939332 ns/iter 10.254954159671358 ns/iter 1.43
JSON_String_Fast_Hash/10 2.17595688914559 ns/iter 2.175318951459036 ns/iter 1.00
JSON_String_Fast_Hash/100 2.1766195577439427 ns/iter 2.1767348913014426 ns/iter 1.00
JSON_String_Key_Hash/10 2.700909514321298 ns/iter 2.491548757999427 ns/iter 1.08
JSON_String_Key_Hash/100 2.1786384759372317 ns/iter 2.1829153754571475 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.7347209147849707 ns/iter 3.7531678753963558 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.7342159853991364 ns/iter 3.7332378830659914 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.7336791089920283 ns/iter 3.73332271365091 ns/iter 1.00
Pointer_Object_Traverse 44.34969912030499 ns/iter 44.389955306791315 ns/iter 1.00
Pointer_Object_Try_Traverse 52.33517335929449 ns/iter 52.35816853850287 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 302.89743005903983 ns/iter 303.5276813519342 ns/iter 1.00
Schema_Frame_OMC_Full 238360175.66666594 ns/iter 233145042.999998 ns/iter 1.02
Schema_Bundle_Meta_2020_12 10459410.462687371 ns/iter 10569195.166672697 ns/iter 0.99

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

Benchmark suite Current: bdb1838 Previous: 34121cd Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.7668431395428599 ns/iter 1.6742079138713695 ns/iter 1.06
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.6923910753684668 ns/iter 1.6439602541063092 ns/iter 1.03
Regex_Period_Asterisk 1.6942990501316375 ns/iter 1.653089169549941 ns/iter 1.02
Regex_Group_Period_Asterisk_Group 1.8235702868018917 ns/iter 1.6677170952096747 ns/iter 1.09
Regex_Period_Plus 2.2593653100016473 ns/iter 2.0742587134573145 ns/iter 1.09
Regex_Period 2.035914365545069 ns/iter 3.2323711295318667 ns/iter 0.63
Regex_Caret_Period_Plus_Dollar 2.6052434707620193 ns/iter 2.1635085355332535 ns/iter 1.20
Regex_Caret_Group_Period_Plus_Group_Dollar 2.651654524848267 ns/iter 2.7571119080267397 ns/iter 0.96
Regex_Caret_Period_Asterisk_Dollar 1.7375100852327983 ns/iter 1.7507467173066844 ns/iter 0.99
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.7389444727325398 ns/iter 1.7616011649203902 ns/iter 0.99
Regex_Caret_X_Hyphen 7.42335134011242 ns/iter 7.192183334545717 ns/iter 1.03
Regex_Period_Md_Dollar 79.6715667852394 ns/iter 78.13266350219052 ns/iter 1.02
Regex_Caret_Slash_Period_Asterisk 6.059638767381864 ns/iter 5.877706708448787 ns/iter 1.03
Regex_Caret_Period_Range_Dollar 2.2013514794853313 ns/iter 2.3181016130168266 ns/iter 0.95
Regex_Nested_Backtrack 785.8440159532911 ns/iter 772.5321267342268 ns/iter 1.02
JSON_Array_Of_Objects_Unique 354.812335476226 ns/iter 345.9422280807642 ns/iter 1.03
JSON_Parse_1 24062.836605741228 ns/iter 26301.832464892785 ns/iter 0.91
JSON_Fast_Hash_Helm_Chart_Lock 48.572545094432485 ns/iter 51.77844054372203 ns/iter 0.94
JSON_Equality_Helm_Chart_Lock 124.27493692467588 ns/iter 126.16883141034143 ns/iter 0.98
JSON_String_Equal/10 8.093655101913642 ns/iter 8.455863718764794 ns/iter 0.96
JSON_String_Equal/100 6.825682907156235 ns/iter 6.267390186932014 ns/iter 1.09
JSON_String_Equal_Small_By_Perfect_Hash/10 0.34180143405794633 ns/iter 0.3282584757671495 ns/iter 1.04
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.2033674045029916 ns/iter 3.0497096253903413 ns/iter 1.05
JSON_String_Fast_Hash/10 1.6924300006223174 ns/iter 1.6610935791600137 ns/iter 1.02
JSON_String_Fast_Hash/100 2.0731759853001916 ns/iter 1.9641084769408528 ns/iter 1.06
JSON_String_Key_Hash/10 1.3634506755111837 ns/iter 1.3310600869815106 ns/iter 1.02
JSON_String_Key_Hash/100 1.3328088031776206 ns/iter 1.3407477944147579 ns/iter 0.99
JSON_Object_Defines_Miss_Same_Length 2.3939890871511915 ns/iter 2.3101523133049375 ns/iter 1.04
JSON_Object_Defines_Miss_Too_Small 2.4231314899361203 ns/iter 2.3168632572714123 ns/iter 1.05
JSON_Object_Defines_Miss_Too_Large 2.4183168588950954 ns/iter 2.378799364061902 ns/iter 1.02
Pointer_Object_Traverse 17.284805573822034 ns/iter 16.628251497750632 ns/iter 1.04
Pointer_Object_Try_Traverse 22.977471662058605 ns/iter 23.97492915797192 ns/iter 0.96
Pointer_Push_Back_Pointer_To_Weak_Pointer 177.42810634405066 ns/iter 183.83281100917233 ns/iter 0.97
Schema_Frame_OMC_Full 163816531.25000638 ns/iter 166086083.25000772 ns/iter 0.99
Schema_Bundle_Meta_2020_12 7679658.103093858 ns/iter 7968049.315216465 ns/iter 0.96

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 (windows/msvc)

Benchmark suite Current: bdb1838 Previous: 34121cd Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 6.57446540178519 ns/iter 6.589286830355995 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 6.734279017856741 ns/iter 6.61298035714302 ns/iter 1.02
Regex_Period_Asterisk 6.567887276785557 ns/iter 6.524906250001144 ns/iter 1.01
Regex_Group_Period_Asterisk_Group 6.518808035713571 ns/iter 6.544570312499839 ns/iter 1.00
Regex_Period_Plus 6.928998883927966 ns/iter 7.001112499998336 ns/iter 0.99
Regex_Period 6.989265624999876 ns/iter 6.942126116071177 ns/iter 1.01
Regex_Caret_Period_Plus_Dollar 6.94684598214249 ns/iter 6.832816964284965 ns/iter 1.02
Regex_Caret_Group_Period_Plus_Group_Dollar 7.001861607142905 ns/iter 6.994258928571132 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 6.744461607142276 ns/iter 6.607040178571261 ns/iter 1.02
Regex_Caret_Group_Period_Asterisk_Group_Dollar 6.762332142857629 ns/iter 6.7786562500009895 ns/iter 1.00
Regex_Caret_X_Hyphen 11.850218750000252 ns/iter 11.864691071431416 ns/iter 1.00
Regex_Period_Md_Dollar 152.02055803571162 ns/iter 145.706678763075 ns/iter 1.04
Regex_Caret_Slash_Period_Asterisk 10.302506250001287 ns/iter 10.173470312498267 ns/iter 1.01
Regex_Caret_Period_Range_Dollar 7.3797053571425915 ns/iter 7.155673628770199 ns/iter 1.03
Regex_Nested_Backtrack 592.4941000000672 ns/iter 599.4349107142835 ns/iter 0.99
JSON_Array_Of_Objects_Unique 419.9204584697162 ns/iter 417.45551707785285 ns/iter 1.01
JSON_Parse_1 79812.32142856445 ns/iter 81366.52901785828 ns/iter 0.98
JSON_Fast_Hash_Helm_Chart_Lock 64.08232142857985 ns/iter 54.78701785715348 ns/iter 1.17
JSON_Equality_Helm_Chart_Lock 186.3942755708985 ns/iter 184.43530218170196 ns/iter 1.01
JSON_String_Equal/10 9.300550404909098 ns/iter 9.312887904852408 ns/iter 1.00
JSON_String_Equal/100 9.945073437501508 ns/iter 10.004272723196493 ns/iter 0.99
JSON_String_Equal_Small_By_Perfect_Hash/10 2.1703159374997227 ns/iter 2.1641615625000554 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 15.462109374999907 ns/iter 14.623063327575421 ns/iter 1.06
JSON_String_Fast_Hash/10 3.0961678571428717 ns/iter 3.1053401785712254 ns/iter 1.00
JSON_String_Fast_Hash/100 3.0964642857139575 ns/iter 3.0997464285706298 ns/iter 1.00
JSON_String_Key_Hash/10 7.470476562501104 ns/iter 7.643302455355082 ns/iter 0.98
JSON_String_Key_Hash/100 3.731945350478575 ns/iter 3.710626600516569 ns/iter 1.01
JSON_Object_Defines_Miss_Same_Length 4.024475587544106 ns/iter 4.024465959821454 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.4091229403411485 ns/iter 3.4047037885625913 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.720256668294397 ns/iter 3.722636244183657 ns/iter 1.00
Pointer_Object_Traverse 52.40943750000123 ns/iter 53.300312500011515 ns/iter 0.98
Pointer_Object_Try_Traverse 64.45820535714932 ns/iter 65.22347098213898 ns/iter 0.99
Pointer_Push_Back_Pointer_To_Weak_Pointer 183.75092712061962 ns/iter 181.90852517039457 ns/iter 1.01
Schema_Frame_OMC_Full 479973999.99997014 ns/iter 477383300.00004226 ns/iter 1.01
Schema_Bundle_Meta_2020_12 23174323.333338026 ns/iter 23292603.333349388 ns/iter 0.99

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: bdb1838 Previous: 34121cd Ratio
Schema_Frame_OMC_Full 236867026.6666489 ns/iter 239845342.00000477 ns/iter 0.99
Schema_Bundle_Meta_2020_12 10586505.242422322 ns/iter 10673374.166661674 ns/iter 0.99
Pointer_Object_Traverse 46.99610705932501 ns/iter 50.10253048144717 ns/iter 0.94
Pointer_Object_Try_Traverse 23.016688367387683 ns/iter 26.421328906329382 ns/iter 0.87
Pointer_Push_Back_Pointer_To_Weak_Pointer 134.63348991303783 ns/iter 174.61006763222682 ns/iter 0.77
JSON_Array_Of_Objects_Unique 430.7595208273114 ns/iter 425.7420745931182 ns/iter 1.01
JSON_Parse_1 33609.353365389 ns/iter 33042.49719352926 ns/iter 1.02
JSON_Fast_Hash_Helm_Chart_Lock 78.40782805062743 ns/iter 66.23568342561664 ns/iter 1.18
JSON_Equality_Helm_Chart_Lock 150.62187635973564 ns/iter 168.4980505463443 ns/iter 0.89
JSON_String_Equal/10 6.60844408478995 ns/iter 7.583160318791393 ns/iter 0.87
JSON_String_Equal/100 7.231397516546009 ns/iter 8.210699562594092 ns/iter 0.88
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9330466866612299 ns/iter 0.9336853701590014 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 11.83577783594021 ns/iter 11.79487316761701 ns/iter 1.00
JSON_String_Fast_Hash/10 0.9325480756782646 ns/iter 0.9324180180685356 ns/iter 1.00
JSON_String_Fast_Hash/100 0.9333905727417405 ns/iter 0.9350317462090275 ns/iter 1.00
JSON_String_Key_Hash/10 1.2465693823518722 ns/iter 1.2441378684002546 ns/iter 1.00
JSON_String_Key_Hash/100 0.9334716093566665 ns/iter 0.934492404764495 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.4875632636460816 ns/iter 2.4869876375272275 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 2.486122290581981 ns/iter 2.79911810898442 ns/iter 0.89
JSON_Object_Defines_Miss_Too_Large 2.5132417910902816 ns/iter 2.4919282037434702 ns/iter 1.01
Regex_Lower_S_Or_Upper_S_Asterisk 3.420584634537942 ns/iter 3.4320538995144187 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.4196977971831797 ns/iter 3.4223790021418727 ns/iter 1.00
Regex_Period_Asterisk 3.4331588652208067 ns/iter 3.4204944988909007 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.441425651335776 ns/iter 3.418921135512648 ns/iter 1.01
Regex_Period_Plus 3.735404082773754 ns/iter 3.7306412654924777 ns/iter 1.00
Regex_Period 3.733008724225442 ns/iter 3.731574604293068 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.731771641138516 ns/iter 3.7337172549145143 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 3.7308263411368947 ns/iter 3.7344456722145294 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 3.4181744513974297 ns/iter 4.666805550966808 ns/iter 0.73
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.4461219564287924 ns/iter 4.666457772177696 ns/iter 0.74
Regex_Caret_X_Hyphen 13.681866496824707 ns/iter 13.68986655989849 ns/iter 1.00
Regex_Period_Md_Dollar 90.1067871093059 ns/iter 89.60959878391535 ns/iter 1.01
Regex_Caret_Slash_Period_Asterisk 8.396572482335197 ns/iter 9.635613700422756 ns/iter 0.87
Regex_Caret_Period_Range_Dollar 3.417875781378332 ns/iter 3.730674231681111 ns/iter 0.92
Regex_Nested_Backtrack 831.2562081114268 ns/iter 853.1972105377504 ns/iter 0.97

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 (macos/gcc)

Benchmark suite Current: bdb1838 Previous: 34121cd Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.0416716853238097 ns/iter 2.367455671582297 ns/iter 0.86
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.251267910157037 ns/iter 2.5333375608864386 ns/iter 0.89
Regex_Period_Asterisk 1.964816077038487 ns/iter 2.3700690565771954 ns/iter 0.83
Regex_Group_Period_Asterisk_Group 1.9565213083379804 ns/iter 2.359222880850005 ns/iter 0.83
Regex_Period_Plus 1.7828171160431208 ns/iter 1.749172056044991 ns/iter 1.02
Regex_Period 1.7115117120447596 ns/iter 1.6900437534817807 ns/iter 1.01
Regex_Caret_Period_Plus_Dollar 1.6700272022738767 ns/iter 1.7077499000654615 ns/iter 0.98
Regex_Caret_Group_Period_Plus_Group_Dollar 1.6385530336088932 ns/iter 1.6979236848900727 ns/iter 0.97
Regex_Caret_Period_Asterisk_Dollar 1.978255969962818 ns/iter 2.3809185705760156 ns/iter 0.83
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.9503604543468729 ns/iter 2.377226958815981 ns/iter 0.82
Regex_Caret_X_Hyphen 6.4507305964468795 ns/iter 6.738224410482767 ns/iter 0.96
Regex_Period_Md_Dollar 78.38295593562724 ns/iter 83.1288191429516 ns/iter 0.94
Regex_Caret_Slash_Period_Asterisk 5.609779962446251 ns/iter 5.070313781716474 ns/iter 1.11
Regex_Caret_Period_Range_Dollar 1.9677529060630332 ns/iter 2.404991898364184 ns/iter 0.82
Regex_Nested_Backtrack 837.0078023377806 ns/iter 979.0354362080045 ns/iter 0.85
JSON_Array_Of_Objects_Unique 218.0021564946676 ns/iter 226.889425897531 ns/iter 0.96
JSON_Parse_1 23738.165422843755 ns/iter 24846.593047653732 ns/iter 0.96
JSON_Fast_Hash_Helm_Chart_Lock 27.223019886343117 ns/iter 25.15671165189975 ns/iter 1.08
JSON_Equality_Helm_Chart_Lock 114.33804470470795 ns/iter 124.51160133389318 ns/iter 0.92
JSON_String_Equal/10 5.478501509121213 ns/iter 5.762560122072912 ns/iter 0.95
JSON_String_Equal/100 5.186554530979696 ns/iter 5.440889762513935 ns/iter 0.95
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7517761906564169 ns/iter 0.8675382822191554 ns/iter 0.87
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.5075257057309606 ns/iter 3.7871854458825434 ns/iter 0.93
JSON_String_Fast_Hash/10 1.908976895531281 ns/iter 2.028671099127332 ns/iter 0.94
JSON_String_Fast_Hash/100 1.9572182548787138 ns/iter 2.036760107074545 ns/iter 0.96
JSON_String_Key_Hash/10 1.4755854440157317 ns/iter 1.6467610832755892 ns/iter 0.90
JSON_String_Key_Hash/100 1.94406808973946 ns/iter 2.1184155575699943 ns/iter 0.92
JSON_Object_Defines_Miss_Same_Length 1.7482868982068585 ns/iter 1.8563516744723019 ns/iter 0.94
JSON_Object_Defines_Miss_Too_Small 1.9130596914899338 ns/iter 2.021565584663796 ns/iter 0.95
JSON_Object_Defines_Miss_Too_Large 1.74629798139748 ns/iter 1.8601323867670994 ns/iter 0.94
Pointer_Object_Traverse 54.73090954094575 ns/iter 58.67054687867652 ns/iter 0.93
Pointer_Object_Try_Traverse 36.82051688980143 ns/iter 37.27275462979658 ns/iter 0.99
Pointer_Push_Back_Pointer_To_Weak_Pointer 159.28730549024587 ns/iter 167.5674060004767 ns/iter 0.95
Schema_Frame_OMC_Full 188480019.56939697 ns/iter 202496290.20690918 ns/iter 0.93
Schema_Bundle_Meta_2020_12 8730106.71591457 ns/iter 9609953.997886345 ns/iter 0.91

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

@jviotti jviotti changed the title [WIP] Extend SchemaIteratorEntry to report parent schemas Extend SchemaIteratorEntry to report parent schemas Feb 10, 2025
@jviotti jviotti marked this pull request as ready for review February 10, 2025 19:15
@jviotti jviotti merged commit d6470ad into main Feb 10, 2025
13 checks passed
@jviotti jviotti deleted the walker-parent branch February 10, 2025 19:31
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