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

Make schema walkers report instance location pointer templates #1516

Merged
merged 1 commit into from
Feb 4, 2025

Conversation

jviotti
Copy link
Member

@jviotti jviotti commented Feb 3, 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: 8a9fe01 Previous: c7e6999 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.2206756628999416 ns/iter 2.2267065582736563 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.2049644047584587 ns/iter 2.182760094602542 ns/iter 1.01
Regex_Period_Asterisk 2.202636546929282 ns/iter 2.1808081000871247 ns/iter 1.01
Regex_Group_Period_Asterisk_Group 2.1998919735455895 ns/iter 2.178286094986434 ns/iter 1.01
Regex_Period_Plus 2.7999352241162105 ns/iter 2.4869077904509522 ns/iter 1.13
Regex_Period 2.796247989732676 ns/iter 2.4893171968973475 ns/iter 1.12
Regex_Caret_Period_Plus_Dollar 2.8001208349661595 ns/iter 2.4872982276897853 ns/iter 1.13
Regex_Caret_Group_Period_Plus_Group_Dollar 2.796503878606096 ns/iter 2.492195636599161 ns/iter 1.12
Regex_Caret_Period_Asterisk_Dollar 3.419678316541753 ns/iter 2.25701947050683 ns/iter 1.52
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.418718386621995 ns/iter 2.182707807142491 ns/iter 1.57
Regex_Caret_X_Hyphen 12.588032956756432 ns/iter 12.522639778909578 ns/iter 1.01
Regex_Period_Md_Dollar 82.41139646533037 ns/iter 81.56792905404359 ns/iter 1.01
Regex_Caret_Slash_Period_Asterisk 6.83705316533111 ns/iter 5.905795221846274 ns/iter 1.16
Regex_Caret_Period_Range_Dollar 4.095518094454971 ns/iter 4.045706435270967 ns/iter 1.01
Regex_Nested_Backtrack 497.6648799565375 ns/iter 497.4690824297734 ns/iter 1.00
JSON_Array_Of_Objects_Unique 404.8663090013433 ns/iter 404.7105093565832 ns/iter 1.00
JSON_Parse_1 30740.995799971777 ns/iter 30184.70687497355 ns/iter 1.02
JSON_Fast_Hash_Helm_Chart_Lock 59.151676322155254 ns/iter 59.39661530918019 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 151.17922716381216 ns/iter 150.7977330069014 ns/iter 1.00
JSON_String_Equal/10 5.9115156509761695 ns/iter 6.222514195354353 ns/iter 0.95
JSON_String_Equal/100 6.5345546691984095 ns/iter 6.849931050310196 ns/iter 0.95
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9342922207666668 ns/iter 0.9351070921592548 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.603402517796358 ns/iter 10.25817041992558 ns/iter 1.42
JSON_String_Fast_Hash/10 2.4863139255574707 ns/iter 2.4863829477682895 ns/iter 1.00
JSON_String_Fast_Hash/100 2.487083271098889 ns/iter 2.485868272352975 ns/iter 1.00
JSON_String_Key_Hash/10 2.6925177239163074 ns/iter 2.1770422458207532 ns/iter 1.24
JSON_String_Key_Hash/100 1.8665308946219643 ns/iter 1.8663588417084946 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.7359855669746675 ns/iter 3.7342393227658843 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.7375217070068305 ns/iter 3.7838386216057986 ns/iter 0.99
JSON_Object_Defines_Miss_Too_Large 3.7358231705773615 ns/iter 3.7381654028905977 ns/iter 1.00
Pointer_Object_Traverse 44.395644181756246 ns/iter 45.72344938137368 ns/iter 0.97
Pointer_Object_Try_Traverse 52.38972705973674 ns/iter 52.308123876004736 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 307.6092428159261 ns/iter 349.75188942834666 ns/iter 0.88

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: 8a9fe01 Previous: c7e6999 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.6390996789352452 ns/iter 1.6520613440507212 ns/iter 0.99
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.6438570570572644 ns/iter 1.8101863737541446 ns/iter 0.91
Regex_Period_Asterisk 1.7104562494440014 ns/iter 1.6231964447786966 ns/iter 1.05
Regex_Group_Period_Asterisk_Group 1.859776340949619 ns/iter 1.6224294242605446 ns/iter 1.15
Regex_Period_Plus 1.9949559455583858 ns/iter 1.9341910246048732 ns/iter 1.03
Regex_Period 1.9865895460950855 ns/iter 1.9719472456014295 ns/iter 1.01
Regex_Caret_Period_Plus_Dollar 2.0664960679909945 ns/iter 1.9185246313921105 ns/iter 1.08
Regex_Caret_Group_Period_Plus_Group_Dollar 2.097975580468925 ns/iter 1.935943003756138 ns/iter 1.08
Regex_Caret_Period_Asterisk_Dollar 1.7128802263236245 ns/iter 1.6016142551096528 ns/iter 1.07
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.6891518023965364 ns/iter 1.6047306868589593 ns/iter 1.05
Regex_Caret_X_Hyphen 7.006944387321266 ns/iter 6.607981865268681 ns/iter 1.06
Regex_Period_Md_Dollar 73.06967875296809 ns/iter 69.73971584070894 ns/iter 1.05
Regex_Caret_Slash_Period_Asterisk 5.512681652246991 ns/iter 5.071683785777064 ns/iter 1.09
Regex_Caret_Period_Range_Dollar 2.383434028406132 ns/iter 2.2350346769462957 ns/iter 1.07
Regex_Nested_Backtrack 788.1015956224207 ns/iter 735.8672302242104 ns/iter 1.07
JSON_Array_Of_Objects_Unique 349.37699296188936 ns/iter 329.84163140454496 ns/iter 1.06
JSON_Parse_1 23602.81164227694 ns/iter 21632.705322076985 ns/iter 1.09
JSON_Fast_Hash_Helm_Chart_Lock 49.09272630095488 ns/iter 48.55189704695566 ns/iter 1.01
JSON_Equality_Helm_Chart_Lock 125.8411466077348 ns/iter 121.38749843070404 ns/iter 1.04
JSON_String_Equal/10 8.298990615027485 ns/iter 7.67177611924615 ns/iter 1.08
JSON_String_Equal/100 6.5126327581632575 ns/iter 6.154456779338422 ns/iter 1.06
JSON_String_Equal_Small_By_Perfect_Hash/10 0.33427920202311523 ns/iter 0.3214178043129308 ns/iter 1.04
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.083376183795963 ns/iter 3.115992027981255 ns/iter 0.99
JSON_String_Fast_Hash/10 1.6892148864134475 ns/iter 1.6018640762791354 ns/iter 1.05
JSON_String_Fast_Hash/100 2.059013011788164 ns/iter 2.0323146806587085 ns/iter 1.01
JSON_String_Key_Hash/10 1.3506464320498899 ns/iter 1.2784052100896368 ns/iter 1.06
JSON_String_Key_Hash/100 1.3360027625876782 ns/iter 1.3016802945519579 ns/iter 1.03
JSON_Object_Defines_Miss_Same_Length 2.37328132045392 ns/iter 2.2652958411692246 ns/iter 1.05
JSON_Object_Defines_Miss_Too_Small 2.262498274409992 ns/iter 2.26483277399665 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 2.2694427339586665 ns/iter 2.3169939199737914 ns/iter 0.98
Pointer_Object_Traverse 17.970560610213155 ns/iter 17.951158748794192 ns/iter 1.00
Pointer_Object_Try_Traverse 22.755384977120297 ns/iter 23.248901567483088 ns/iter 0.98
Pointer_Push_Back_Pointer_To_Weak_Pointer 185.06853688299745 ns/iter 182.5859810914006 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 (windows/msvc)

Benchmark suite Current: 8a9fe01 Previous: c7e6999 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 6.771780133928271 ns/iter 7.191360491073542 ns/iter 0.94
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 6.6428292410693395 ns/iter 6.858941487237814 ns/iter 0.97
Regex_Period_Asterisk 6.652056919644878 ns/iter 7.03059933035734 ns/iter 0.95
Regex_Group_Period_Asterisk_Group 6.629690848214409 ns/iter 7.14122656249927 ns/iter 0.93
Regex_Period_Plus 7.24882319812498 ns/iter 7.310345056649797 ns/iter 0.99
Regex_Period 7.202585937499911 ns/iter 7.165490593010141 ns/iter 1.01
Regex_Caret_Period_Plus_Dollar 6.864138392855981 ns/iter 7.3624138064177425 ns/iter 0.93
Regex_Caret_Group_Period_Plus_Group_Dollar 6.998722098214521 ns/iter 7.155964285713777 ns/iter 0.98
Regex_Caret_Period_Asterisk_Dollar 6.596183035713109 ns/iter 6.879602678570811 ns/iter 0.96
Regex_Caret_Group_Period_Asterisk_Group_Dollar 6.941056919642007 ns/iter 6.912862723214325 ns/iter 1.00
Regex_Caret_X_Hyphen 11.296565624999033 ns/iter 11.746003125001181 ns/iter 0.96
Regex_Period_Md_Dollar 146.22562499998335 ns/iter 150.50017857143013 ns/iter 0.97
Regex_Caret_Slash_Period_Asterisk 10.011918749999182 ns/iter 10.72092656249879 ns/iter 0.93
Regex_Caret_Period_Range_Dollar 7.557741930545143 ns/iter 7.524903984264925 ns/iter 1.00
Regex_Nested_Backtrack 584.9553571426469 ns/iter 625.1309821428614 ns/iter 0.94
JSON_Array_Of_Objects_Unique 466.92822760846934 ns/iter 492.3108221160535 ns/iter 0.95
JSON_Parse_1 75583.98437499392 ns/iter 80627.2656249821 ns/iter 0.94
JSON_Fast_Hash_Helm_Chart_Lock 64.00082142856637 ns/iter 65.36890178570128 ns/iter 0.98
JSON_Equality_Helm_Chart_Lock 179.9244584770494 ns/iter 191.006749197039 ns/iter 0.94
JSON_String_Equal/10 8.608609782998231 ns/iter 9.248515137284537 ns/iter 0.93
JSON_String_Equal/100 9.454520047076572 ns/iter 9.944312902033202 ns/iter 0.95
JSON_String_Equal_Small_By_Perfect_Hash/10 2.058040153952905 ns/iter 2.1710187499998312 ns/iter 0.95
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.263549107142687 ns/iter 14.88062065928325 ns/iter 0.96
JSON_String_Fast_Hash/10 3.8457645089286427 ns/iter 4.08224776785688 ns/iter 0.94
JSON_String_Fast_Hash/100 3.900638564463346 ns/iter 4.058680096533105 ns/iter 0.96
JSON_String_Key_Hash/10 7.359165178572522 ns/iter 7.815499518679983 ns/iter 0.94
JSON_String_Key_Hash/100 3.810880022321328 ns/iter 4.037795944710371 ns/iter 0.94
JSON_Object_Defines_Miss_Same_Length 3.5259812437037477 ns/iter 3.7195569576446847 ns/iter 0.95
JSON_Object_Defines_Miss_Too_Small 4.681510724735106 ns/iter 4.961424107142826 ns/iter 0.94
JSON_Object_Defines_Miss_Too_Large 3.2738647321427345 ns/iter 3.4118920921223514 ns/iter 0.96
Pointer_Object_Traverse 48.81742958381709 ns/iter 49.5148660714254 ns/iter 0.99
Pointer_Object_Try_Traverse 65.08345535715014 ns/iter 67.66207142857995 ns/iter 0.96
Pointer_Push_Back_Pointer_To_Weak_Pointer 174.77324161428413 ns/iter 179.74946516178557 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 (linux/gcc)

Benchmark suite Current: 8a9fe01 Previous: c7e6999 Ratio
Pointer_Object_Traverse 45.953188802308766 ns/iter 48.10980627959037 ns/iter 0.96
Pointer_Object_Try_Traverse 26.14021576771195 ns/iter 26.177704336951177 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 144.64941747651184 ns/iter 149.08194237278968 ns/iter 0.97
JSON_Array_Of_Objects_Unique 409.62855978296295 ns/iter 415.01636511874665 ns/iter 0.99
JSON_Parse_1 33118.832710236486 ns/iter 33329.78097449807 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 62.871487641522734 ns/iter 68.7607878394299 ns/iter 0.91
JSON_Equality_Helm_Chart_Lock 150.84206861746614 ns/iter 151.3394601251023 ns/iter 1.00
JSON_String_Equal/10 6.3383410649352605 ns/iter 6.341298134464259 ns/iter 1.00
JSON_String_Equal/100 6.964760543971412 ns/iter 6.812539081461039 ns/iter 1.02
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9346718496116303 ns/iter 0.937608385204271 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.290547256144624 ns/iter 14.289183348277922 ns/iter 1.00
JSON_String_Fast_Hash/10 0.9359184375077009 ns/iter 0.9325418118351609 ns/iter 1.00
JSON_String_Fast_Hash/100 0.9353213842149277 ns/iter 0.9325350333736419 ns/iter 1.00
JSON_String_Key_Hash/10 1.6734925830644887 ns/iter 1.675493261891161 ns/iter 1.00
JSON_String_Key_Hash/100 1.9849565284415025 ns/iter 1.984514280541653 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.489392355469314 ns/iter 2.4864542104624388 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 2.4906411276450977 ns/iter 2.4981134548187964 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.1085581286654813 ns/iter 3.113257158660807 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 3.4915248483766574 ns/iter 3.4223058894423026 ns/iter 1.02
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.420845082086402 ns/iter 3.4211669224642365 ns/iter 1.00
Regex_Period_Asterisk 3.4187942431033904 ns/iter 3.4218495472325205 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.4304625142221785 ns/iter 3.426469177278037 ns/iter 1.00
Regex_Period_Plus 3.734087721967547 ns/iter 3.727769087870611 ns/iter 1.00
Regex_Period 3.735168414524694 ns/iter 3.7274976869207714 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.7337252820855498 ns/iter 3.7315543273159073 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 3.7346405967398324 ns/iter 3.7345646679065525 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 4.6645254502504345 ns/iter 4.660999714480305 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.660935432152422 ns/iter 4.664022619496585 ns/iter 1.00
Regex_Caret_X_Hyphen 12.432399214187875 ns/iter 12.435387890691091 ns/iter 1.00
Regex_Period_Md_Dollar 88.7766057321281 ns/iter 91.97117782128304 ns/iter 0.97
Regex_Caret_Slash_Period_Asterisk 8.082688971232077 ns/iter 8.086313798115857 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.119350950901423 ns/iter 4.6607986063226265 ns/iter 0.88
Regex_Nested_Backtrack 816.5325625800464 ns/iter 820.8192521962194 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/gcc)

Benchmark suite Current: 8a9fe01 Previous: c7e6999 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.309108291524369 ns/iter 2.152007641208661 ns/iter 1.07
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.150335927678121 ns/iter 2.121744300934085 ns/iter 1.01
Regex_Period_Asterisk 2.018814764036445 ns/iter 2.060048105001468 ns/iter 0.98
Regex_Group_Period_Asterisk_Group 2.149097494665786 ns/iter 2.0350614846089843 ns/iter 1.06
Regex_Period_Plus 1.6975796159755783 ns/iter 1.6984766476604212 ns/iter 1.00
Regex_Period 1.7084597685028624 ns/iter 1.7207619364772706 ns/iter 0.99
Regex_Caret_Period_Plus_Dollar 1.6818515467180475 ns/iter 1.7137172176694584 ns/iter 0.98
Regex_Caret_Group_Period_Plus_Group_Dollar 1.7768318019875922 ns/iter 1.743607096239406 ns/iter 1.02
Regex_Caret_Period_Asterisk_Dollar 2.2683542012374884 ns/iter 2.054806586906319 ns/iter 1.10
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.15645259965771 ns/iter 2.0362775044709904 ns/iter 1.06
Regex_Caret_X_Hyphen 6.500550251938474 ns/iter 6.460729593074116 ns/iter 1.01
Regex_Period_Md_Dollar 74.63842071142328 ns/iter 76.08479519606355 ns/iter 0.98
Regex_Caret_Slash_Period_Asterisk 4.752402180534811 ns/iter 4.843567155781352 ns/iter 0.98
Regex_Caret_Period_Range_Dollar 2.302853916390561 ns/iter 2.120000627152561 ns/iter 1.09
Regex_Nested_Backtrack 894.6649758766598 ns/iter 887.616711687911 ns/iter 1.01
JSON_Array_Of_Objects_Unique 231.2988384047601 ns/iter 228.18159539217777 ns/iter 1.01
JSON_Parse_1 25219.699558076532 ns/iter 25468.073289167474 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 25.266349515848436 ns/iter 27.634999367418388 ns/iter 0.91
JSON_Equality_Helm_Chart_Lock 122.84012110825468 ns/iter 122.92772795223584 ns/iter 1.00
JSON_String_Equal/10 5.765838716428433 ns/iter 6.232450226395195 ns/iter 0.93
JSON_String_Equal/100 5.8603519800675254 ns/iter 5.547218033272281 ns/iter 1.06
JSON_String_Equal_Small_By_Perfect_Hash/10 0.8065498641875203 ns/iter 0.842663642738559 ns/iter 0.96
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.7629421698542806 ns/iter 3.8020951562439635 ns/iter 0.99
JSON_String_Fast_Hash/10 2.0525373891401197 ns/iter 2.0666950027386335 ns/iter 0.99
JSON_String_Fast_Hash/100 2.0504748227623204 ns/iter 2.318439335994243 ns/iter 0.88
JSON_String_Key_Hash/10 1.543504936590763 ns/iter 1.6301531141376033 ns/iter 0.95
JSON_String_Key_Hash/100 2.088011247498981 ns/iter 2.0904405282610408 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 1.9024984811587975 ns/iter 1.9251638298407083 ns/iter 0.99
JSON_Object_Defines_Miss_Too_Small 2.037923385598156 ns/iter 2.3199394977255867 ns/iter 0.88
JSON_Object_Defines_Miss_Too_Large 1.8500751552408106 ns/iter 2.0056516521035945 ns/iter 0.92
Pointer_Object_Traverse 56.12219253327421 ns/iter 57.782415110641345 ns/iter 0.97
Pointer_Object_Try_Traverse 41.27672897382166 ns/iter 38.455672854390194 ns/iter 1.07
Pointer_Push_Back_Pointer_To_Weak_Pointer 168.11421627990512 ns/iter 172.3872320191702 ns/iter 0.98

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

@jviotti jviotti force-pushed the walker-instance-locations branch 25 times, most recently from b4ad4b3 to 0c2da0a Compare February 4, 2025 22:14
@jviotti jviotti force-pushed the walker-instance-locations branch from 0c2da0a to 5076e8e Compare February 4, 2025 22:36
@jviotti jviotti force-pushed the walker-instance-locations branch from 5076e8e to 8a9fe01 Compare February 4, 2025 22:37
@jviotti jviotti changed the title [WIP] Make schema walkers report instance location pointer templates Make schema walkers report instance location pointer templates Feb 4, 2025
@jviotti jviotti marked this pull request as ready for review February 4, 2025 22:38
@jviotti jviotti merged commit 65cd295 into main Feb 4, 2025
13 checks passed
@jviotti jviotti deleted the walker-instance-locations branch February 4, 2025 22:53
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