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 internal SchemaFrame structures to track relative instance locations #1545

Merged
merged 1 commit into from
Feb 10, 2025

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: 62712f1 Previous: 8bd48b8 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.204974045582031 ns/iter 2.209654857963418 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.246846110719 ns/iter 2.208444783506387 ns/iter 1.02
Regex_Period_Asterisk 2.2200757784455614 ns/iter 2.2108293137095734 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 2.1835901108080162 ns/iter 2.198281486357012 ns/iter 0.99
Regex_Period_Plus 2.4940014011216394 ns/iter 2.4882827911728738 ns/iter 1.00
Regex_Period 2.4888078198503143 ns/iter 2.5063650787476432 ns/iter 0.99
Regex_Caret_Period_Plus_Dollar 2.4874600544147123 ns/iter 2.4877110567780107 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 2.4892892186532984 ns/iter 2.4864065043631043 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 3.419440737649361 ns/iter 3.4172482729323166 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.4210363769389565 ns/iter 3.251712220447447 ns/iter 1.05
Regex_Caret_X_Hyphen 13.04645612400185 ns/iter 13.052030623768488 ns/iter 1.00
Regex_Period_Md_Dollar 76.65685575996903 ns/iter 73.4897225383528 ns/iter 1.04
Regex_Caret_Slash_Period_Asterisk 7.156718838940921 ns/iter 7.153236048096676 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 3.729309734580207 ns/iter 3.726650908096546 ns/iter 1.00
Regex_Nested_Backtrack 491.9017935981621 ns/iter 496.91083894767274 ns/iter 0.99
JSON_Array_Of_Objects_Unique 397.4708105145896 ns/iter 395.77075356959983 ns/iter 1.00
JSON_Parse_1 30222.50060376133 ns/iter 30577.928767479854 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 55.624427044301086 ns/iter 55.64507266400459 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 150.13764992766292 ns/iter 155.49972523254596 ns/iter 0.97
JSON_String_Equal/10 6.536825694523802 ns/iter 6.531748262739198 ns/iter 1.00
JSON_String_Equal/100 7.166769926883881 ns/iter 7.166245506711926 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.937217577416937 ns/iter 0.9380328661952879 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.252964712341965 ns/iter 10.260097830543812 ns/iter 1.00
JSON_String_Fast_Hash/10 2.1740095112146327 ns/iter 2.1781422803739225 ns/iter 1.00
JSON_String_Fast_Hash/100 2.174189745225694 ns/iter 2.176779916576015 ns/iter 1.00
JSON_String_Key_Hash/10 2.495027415004988 ns/iter 2.490112753780702 ns/iter 1.00
JSON_String_Key_Hash/100 2.1794136946618523 ns/iter 2.1776666532485978 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.7317398418471406 ns/iter 3.7371895611213772 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.7395635824633446 ns/iter 3.732840205889223 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.7366826148645296 ns/iter 3.7364403935812063 ns/iter 1.00
Pointer_Object_Traverse 44.528722612085645 ns/iter 44.50844622726464 ns/iter 1.00
Pointer_Object_Try_Traverse 52.58108357349208 ns/iter 52.30289954261503 ns/iter 1.01
Pointer_Push_Back_Pointer_To_Weak_Pointer 304.30617273513445 ns/iter 303.97323999125797 ns/iter 1.00
Schema_Frame_OMC_Full 236291693.66665792 ns/iter 237539128.33332908 ns/iter 0.99
Schema_Bundle_Meta_2020_12 10305507.38806569 ns/iter 10405793.31343319 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: 62712f1 Previous: 8bd48b8 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.819447628224228 ns/iter 1.5782372037652763 ns/iter 1.15
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.095085332614775 ns/iter 1.5744074715793472 ns/iter 1.33
Regex_Period_Asterisk 1.8255458938590658 ns/iter 1.5728548613780304 ns/iter 1.16
Regex_Group_Period_Asterisk_Group 1.761320810559101 ns/iter 1.5771471186073038 ns/iter 1.12
Regex_Period_Plus 2.3329354021372963 ns/iter 1.9331916164467688 ns/iter 1.21
Regex_Period 2.229137668366877 ns/iter 1.9079043326070597 ns/iter 1.17
Regex_Caret_Period_Plus_Dollar 2.176896175051542 ns/iter 1.9141714446252427 ns/iter 1.14
Regex_Caret_Group_Period_Plus_Group_Dollar 2.176573598284529 ns/iter 1.8922937306265348 ns/iter 1.15
Regex_Caret_Period_Asterisk_Dollar 1.773016602342233 ns/iter 1.606397587463899 ns/iter 1.10
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.8371308197867027 ns/iter 1.613746357228567 ns/iter 1.14
Regex_Caret_X_Hyphen 9.439048983004053 ns/iter 6.6072522316530655 ns/iter 1.43
Regex_Period_Md_Dollar 126.2669759753665 ns/iter 69.36740687262731 ns/iter 1.82
Regex_Caret_Slash_Period_Asterisk 6.065381930785972 ns/iter 5.0192495527384695 ns/iter 1.21
Regex_Caret_Period_Range_Dollar 2.5146445189245186 ns/iter 2.1168311597544562 ns/iter 1.19
Regex_Nested_Backtrack 818.3049099852552 ns/iter 759.7222689513635 ns/iter 1.08
JSON_Array_Of_Objects_Unique 461.5473186212613 ns/iter 362.25686472886355 ns/iter 1.27
JSON_Parse_1 28089.10421444308 ns/iter 21780.838458194037 ns/iter 1.29
JSON_Fast_Hash_Helm_Chart_Lock 61.93264333305516 ns/iter 53.93508577772102 ns/iter 1.15
JSON_Equality_Helm_Chart_Lock 174.52718734470696 ns/iter 116.52988358758864 ns/iter 1.50
JSON_String_Equal/10 10.491872694444574 ns/iter 7.534647252511615 ns/iter 1.39
JSON_String_Equal/100 10.01682987971861 ns/iter 6.026691605576378 ns/iter 1.66
JSON_String_Equal_Small_By_Perfect_Hash/10 0.43134720277439564 ns/iter 0.31390899394131977 ns/iter 1.37
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.78743659031885 ns/iter 2.9838699580844343 ns/iter 1.27
JSON_String_Fast_Hash/10 2.1966172248605185 ns/iter 1.8820570335519742 ns/iter 1.17
JSON_String_Fast_Hash/100 2.9379769982381565 ns/iter 2.1939975253616866 ns/iter 1.34
JSON_String_Key_Hash/10 1.7031904886221543 ns/iter 1.2592489339856772 ns/iter 1.35
JSON_String_Key_Hash/100 1.7106066538200875 ns/iter 1.2552693962653152 ns/iter 1.36
JSON_Object_Defines_Miss_Same_Length 3.365796394950852 ns/iter 2.208969410433364 ns/iter 1.52
JSON_Object_Defines_Miss_Too_Small 2.5023516200489664 ns/iter 2.5517683027760087 ns/iter 0.98
JSON_Object_Defines_Miss_Too_Large 2.7552084275572586 ns/iter 2.200083520573804 ns/iter 1.25
Pointer_Object_Traverse 19.839822767278235 ns/iter 15.370027961485707 ns/iter 1.29
Pointer_Object_Try_Traverse 31.744787575784937 ns/iter 21.767215701528656 ns/iter 1.46
Pointer_Push_Back_Pointer_To_Weak_Pointer 221.74171783223903 ns/iter 170.82818192962034 ns/iter 1.30
Schema_Frame_OMC_Full 198102097.33331397 ns/iter 154520385.5000068 ns/iter 1.28
Schema_Bundle_Meta_2020_12 8685603.941179419 ns/iter 7701414.413041309 ns/iter 1.13

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: 62712f1 Previous: 8bd48b8 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 6.856579241071461 ns/iter 6.654977678571023 ns/iter 1.03
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 6.539840401786583 ns/iter 6.560093750000614 ns/iter 1.00
Regex_Period_Asterisk 6.7089441964286936 ns/iter 6.88278035714315 ns/iter 0.97
Regex_Group_Period_Asterisk_Group 6.550216071428646 ns/iter 7.071719866070327 ns/iter 0.93
Regex_Period_Plus 7.056133928570977 ns/iter 7.101020535714042 ns/iter 0.99
Regex_Period 6.843187500000473 ns/iter 6.874466517857566 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 6.911025669642206 ns/iter 7.16130691964269 ns/iter 0.97
Regex_Caret_Group_Period_Plus_Group_Dollar 7.164433035713458 ns/iter 6.935284598214812 ns/iter 1.03
Regex_Caret_Period_Asterisk_Dollar 6.52520625000059 ns/iter 6.7479073660717654 ns/iter 0.97
Regex_Caret_Group_Period_Asterisk_Group_Dollar 6.684444196429138 ns/iter 6.953592633929568 ns/iter 0.96
Regex_Caret_X_Hyphen 11.866542857142854 ns/iter 11.858557142854156 ns/iter 1.00
Regex_Period_Md_Dollar 154.2483705357256 ns/iter 151.87364723778364 ns/iter 1.02
Regex_Caret_Slash_Period_Asterisk 9.92381647355356 ns/iter 10.150340624999643 ns/iter 0.98
Regex_Caret_Period_Range_Dollar 7.3789660714282945 ns/iter 7.630958705355795 ns/iter 0.97
Regex_Nested_Backtrack 598.1849000000921 ns/iter 608.5585000000721 ns/iter 0.98
JSON_Array_Of_Objects_Unique 403.82693286483084 ns/iter 407.50436573642537 ns/iter 0.99
JSON_Parse_1 80884.16294642948 ns/iter 99230.253113716 ns/iter 0.82
JSON_Fast_Hash_Helm_Chart_Lock 52.17764999999872 ns/iter 56.314210000005005 ns/iter 0.93
JSON_Equality_Helm_Chart_Lock 192.80704400061964 ns/iter 194.5432502435778 ns/iter 0.99
JSON_String_Equal/10 9.600666921425288 ns/iter 9.666735224703515 ns/iter 0.99
JSON_String_Equal/100 9.943465134180308 ns/iter 9.935639062497614 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 2.1684871874999345 ns/iter 2.1751268750001884 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 15.180796137586333 ns/iter 14.726936987829115 ns/iter 1.03
JSON_String_Fast_Hash/10 3.0971376610895818 ns/iter 3.1040361607139744 ns/iter 1.00
JSON_String_Fast_Hash/100 3.0976656250000394 ns/iter 3.114718303571351 ns/iter 0.99
JSON_String_Key_Hash/10 7.6935424107141674 ns/iter 7.642714285715106 ns/iter 1.01
JSON_String_Key_Hash/100 3.724038743350127 ns/iter 3.7443299933143694 ns/iter 0.99
JSON_Object_Defines_Miss_Same_Length 4.035070587562139 ns/iter 4.0578844268883945 ns/iter 0.99
JSON_Object_Defines_Miss_Too_Small 3.4109624939092256 ns/iter 3.4178478063966855 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.7159012433644967 ns/iter 3.752767493299316 ns/iter 0.99
Pointer_Object_Traverse 50.90425999999297 ns/iter 50.71468000001005 ns/iter 1.00
Pointer_Object_Try_Traverse 65.45941964285517 ns/iter 65.49136160714905 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 184.6436147003204 ns/iter 179.90010534820868 ns/iter 1.03
Schema_Frame_OMC_Full 482457099.99997646 ns/iter 496578300.00001013 ns/iter 0.97
Schema_Bundle_Meta_2020_12 23393610.7142938 ns/iter 24155732.14286074 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: 62712f1 Previous: 8bd48b8 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.9595592965983475 ns/iter 2.5167919858878323 ns/iter 0.78
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.982737017449054 ns/iter 2.3636162245482035 ns/iter 0.84
Regex_Period_Asterisk 1.9552615735884629 ns/iter 2.3656271054581426 ns/iter 0.83
Regex_Group_Period_Asterisk_Group 1.9611408155912569 ns/iter 2.3761391109822996 ns/iter 0.83
Regex_Period_Plus 1.6202617613862378 ns/iter 2.039733705757084 ns/iter 0.79
Regex_Period 1.6246828522024304 ns/iter 1.9936954122222765 ns/iter 0.81
Regex_Caret_Period_Plus_Dollar 1.5861710056870397 ns/iter 1.9646435908191817 ns/iter 0.81
Regex_Caret_Group_Period_Plus_Group_Dollar 1.5898829303467883 ns/iter 1.9709705834455324 ns/iter 0.81
Regex_Caret_Period_Asterisk_Dollar 1.9061021324788168 ns/iter 2.391299683894859 ns/iter 0.80
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.8973732500303093 ns/iter 2.2817885532470417 ns/iter 0.83
Regex_Caret_X_Hyphen 5.996091161950432 ns/iter 6.431658584933728 ns/iter 0.93
Regex_Period_Md_Dollar 69.4584469376327 ns/iter 71.1789739297275 ns/iter 0.98
Regex_Caret_Slash_Period_Asterisk 4.549124339625553 ns/iter 4.817108493478896 ns/iter 0.94
Regex_Caret_Period_Range_Dollar 1.9403154069466146 ns/iter 2.5598321140291396 ns/iter 0.76
Regex_Nested_Backtrack 863.8526164305899 ns/iter 889.4085018401533 ns/iter 0.97
JSON_Array_Of_Objects_Unique 214.49933933033108 ns/iter 221.93396654893496 ns/iter 0.97
JSON_Parse_1 23289.453970638522 ns/iter 24442.71441106196 ns/iter 0.95
JSON_Fast_Hash_Helm_Chart_Lock 24.388376899631485 ns/iter 26.33801486850372 ns/iter 0.93
JSON_Equality_Helm_Chart_Lock 122.21814741173469 ns/iter 119.31745681682226 ns/iter 1.02
JSON_String_Equal/10 5.4861506433790765 ns/iter 5.615357142153146 ns/iter 0.98
JSON_String_Equal/100 5.463452632350704 ns/iter 5.3206569687647916 ns/iter 1.03
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7855506051784625 ns/iter 0.776898996804063 ns/iter 1.01
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.4642374147831205 ns/iter 4.012803816989039 ns/iter 0.86
JSON_String_Fast_Hash/10 1.9116840521642637 ns/iter 2.039809608444022 ns/iter 0.94
JSON_String_Fast_Hash/100 1.9486795965513384 ns/iter 2.0339056799651622 ns/iter 0.96
JSON_String_Key_Hash/10 1.44491210629676 ns/iter 1.7227103954704817 ns/iter 0.84
JSON_String_Key_Hash/100 1.9390729173901107 ns/iter 2.0660977701854057 ns/iter 0.94
JSON_Object_Defines_Miss_Same_Length 1.7369730211271406 ns/iter 1.855437569102168 ns/iter 0.94
JSON_Object_Defines_Miss_Too_Small 1.8996474925862712 ns/iter 2.0104787849580847 ns/iter 0.94
JSON_Object_Defines_Miss_Too_Large 1.7416720050131338 ns/iter 1.8481711570502772 ns/iter 0.94
Pointer_Object_Traverse 54.69934056345988 ns/iter 56.8947428767291 ns/iter 0.96
Pointer_Object_Try_Traverse 34.432326170843716 ns/iter 36.32733400828344 ns/iter 0.95
Pointer_Push_Back_Pointer_To_Weak_Pointer 158.44346330961125 ns/iter 171.94228228687714 ns/iter 0.92
Schema_Frame_OMC_Full 187012553.21502686 ns/iter 214411973.95324707 ns/iter 0.87
Schema_Bundle_Meta_2020_12 8731000.031097027 ns/iter 9538424.642462479 ns/iter 0.92

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: 62712f1 Previous: 8bd48b8 Ratio
Schema_Frame_OMC_Full 242251800.3333683 ns/iter 249955519.33333597 ns/iter 0.97
Schema_Bundle_Meta_2020_12 10792903.169219524 ns/iter 10767994.406249315 ns/iter 1.00
Pointer_Object_Traverse 51.21412460819287 ns/iter 47.285377714413535 ns/iter 1.08
Pointer_Object_Try_Traverse 26.63144490943188 ns/iter 22.6892228421297 ns/iter 1.17
Pointer_Push_Back_Pointer_To_Weak_Pointer 161.22600846757473 ns/iter 134.35456711132386 ns/iter 1.20
JSON_Array_Of_Objects_Unique 373.21745809604107 ns/iter 373.84817224576045 ns/iter 1.00
JSON_Parse_1 33454.18966091269 ns/iter 33673.650359434556 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 63.31309600104652 ns/iter 63.08344395103392 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 147.89093179493392 ns/iter 144.54955035788373 ns/iter 1.02
JSON_String_Equal/10 5.822924079934979 ns/iter 5.720950755902565 ns/iter 1.02
JSON_String_Equal/100 6.421218222804904 ns/iter 6.3463362667494625 ns/iter 1.01
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9398588820894229 ns/iter 0.6235055229984814 ns/iter 1.51
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 11.792634815109643 ns/iter 11.615671553016213 ns/iter 1.02
JSON_String_Fast_Hash/10 0.9869268191518503 ns/iter 1.2474518622506554 ns/iter 0.79
JSON_String_Fast_Hash/100 0.9858037676660815 ns/iter 1.2468315476859546 ns/iter 0.79
JSON_String_Key_Hash/10 1.3075595061744683 ns/iter 1.2466284508891328 ns/iter 1.05
JSON_String_Key_Hash/100 0.9364370138318308 ns/iter 0.9373186648961156 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.599500119334474 ns/iter 2.799054899850901 ns/iter 0.93
JSON_Object_Defines_Miss_Too_Small 2.926497440690715 ns/iter 2.519481978258167 ns/iter 1.16
JSON_Object_Defines_Miss_Too_Large 2.6198413396664226 ns/iter 2.4943683096515246 ns/iter 1.05
Regex_Lower_S_Or_Upper_S_Asterisk 3.277230606520303 ns/iter 3.1107150809378243 ns/iter 1.05
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.9669055330640437 ns/iter 3.115366007355525 ns/iter 0.95
Regex_Period_Asterisk 2.968250872142915 ns/iter 3.1377370337454003 ns/iter 0.95
Regex_Group_Period_Asterisk_Group 3.124080280855461 ns/iter 3.1106220526834383 ns/iter 1.00
Regex_Period_Plus 3.149004313739997 ns/iter 3.426538272291218 ns/iter 0.92
Regex_Period 3.1551213739280124 ns/iter 3.430154712389173 ns/iter 0.92
Regex_Caret_Period_Plus_Dollar 3.151562650428483 ns/iter 3.408215797800338 ns/iter 0.92
Regex_Caret_Group_Period_Plus_Group_Dollar 3.153105651008808 ns/iter 3.114297035108613 ns/iter 1.01
Regex_Caret_Period_Asterisk_Dollar 3.1543072325946993 ns/iter 3.1086843269692777 ns/iter 1.01
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.96184383506466 ns/iter 3.1092753963794726 ns/iter 0.95
Regex_Caret_X_Hyphen 13.699035954304957 ns/iter 13.68659497407822 ns/iter 1.00
Regex_Period_Md_Dollar 89.8444994876769 ns/iter 89.07592528578756 ns/iter 1.01
Regex_Caret_Slash_Period_Asterisk 7.879387318397213 ns/iter 8.105627136696777 ns/iter 0.97
Regex_Caret_Period_Range_Dollar 3.610339546288244 ns/iter 3.4222434428128996 ns/iter 1.05
Regex_Nested_Backtrack 825.1270483132173 ns/iter 820.739848245844 ns/iter 1.01

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

@jviotti jviotti merged commit ae6a3e4 into main Feb 10, 2025
13 checks passed
@jviotti jviotti deleted the track-relative-instance-frame branch February 10, 2025 21:42
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