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

Allow SchemaFlatFileResolver to take a custom reference visitor #1510

Merged
merged 1 commit into from
Jan 31, 2025

Conversation

jviotti
Copy link
Member

@jviotti jviotti commented Jan 31, 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: 614a5e2 Previous: 5f57199 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.212084568057912 ns/iter 2.215743991903351 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.2078991329080693 ns/iter 2.2174942304530596 ns/iter 1.00
Regex_Period_Asterisk 2.2013099499252684 ns/iter 2.208534839702556 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 2.204771369047727 ns/iter 2.2133675478666923 ns/iter 1.00
Regex_Period_Plus 2.7976499023357673 ns/iter 2.8013198450802332 ns/iter 1.00
Regex_Period 2.797735991114796 ns/iter 2.798807589951917 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 2.8051415279398264 ns/iter 2.8008988127408796 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 2.7993288594543992 ns/iter 2.7984236046379145 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 3.418715262953869 ns/iter 3.423898533447542 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.4168740249789478 ns/iter 3.4183709110956686 ns/iter 1.00
Regex_Caret_X_Hyphen 12.579333537237904 ns/iter 13.069736638674266 ns/iter 0.96
Regex_Period_Md_Dollar 81.47682941866546 ns/iter 81.44456511427816 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 6.932199102372068 ns/iter 6.842880278322871 ns/iter 1.01
Regex_Caret_Period_Range_Dollar 4.040794640537552 ns/iter 4.04068295369625 ns/iter 1.00
Regex_Nested_Backtrack 501.5414649492988 ns/iter 508.5871916244237 ns/iter 0.99
JSON_Array_Of_Objects_Unique 405.380358278689 ns/iter 405.4240067290798 ns/iter 1.00
JSON_Parse_1 30541.12673310105 ns/iter 30752.214066340337 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 59.05650140909651 ns/iter 59.22004567313128 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 159.16969357290887 ns/iter 162.2976147725984 ns/iter 0.98
JSON_String_Equal/10 6.552471751092618 ns/iter 6.802693069828616 ns/iter 0.96
JSON_String_Equal/100 7.153815650157789 ns/iter 6.5397593158230745 ns/iter 1.09
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9347881923049368 ns/iter 0.9352044032261783 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.597103502023678 ns/iter 14.602791013486332 ns/iter 1.00
JSON_String_Fast_Hash/10 2.4893651105481704 ns/iter 2.5238918557329066 ns/iter 0.99
JSON_String_Fast_Hash/100 2.4883597782655036 ns/iter 2.486697230262845 ns/iter 1.00
JSON_String_Key_Hash/10 2.6977975272223476 ns/iter 2.6531391185458966 ns/iter 1.02
JSON_String_Key_Hash/100 1.87016912475409 ns/iter 1.8672179241696594 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.732376403317169 ns/iter 3.7470995846152944 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.7330205255926714 ns/iter 3.741758905743432 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.733042251892433 ns/iter 3.742212564214635 ns/iter 1.00
Pointer_Object_Traverse 44.34710724111856 ns/iter 44.28317889013943 ns/iter 1.00
Pointer_Object_Try_Traverse 52.31301673264843 ns/iter 52.32041555900894 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 307.15581057468574 ns/iter 307.95439103515406 ns/iter 1.00

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: 614a5e2 Previous: 5f57199 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.8979475865686173 ns/iter 1.6426182353630738 ns/iter 1.16
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.8480853996205797 ns/iter 1.6585752564808218 ns/iter 1.11
Regex_Period_Asterisk 1.8219443414253513 ns/iter 1.6360040992067215 ns/iter 1.11
Regex_Group_Period_Asterisk_Group 1.8773780445871144 ns/iter 1.6384887677295774 ns/iter 1.15
Regex_Period_Plus 2.1246518151710756 ns/iter 2.028296435444966 ns/iter 1.05
Regex_Period 2.8263405561497157 ns/iter 1.9729307623032037 ns/iter 1.43
Regex_Caret_Period_Plus_Dollar 2.624313002834904 ns/iter 2.0093140819251083 ns/iter 1.31
Regex_Caret_Group_Period_Plus_Group_Dollar 2.7800035801419365 ns/iter 2.0009290213001862 ns/iter 1.39
Regex_Caret_Period_Asterisk_Dollar 2.1606273875264024 ns/iter 1.6276430841033174 ns/iter 1.33
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.279372344767923 ns/iter 1.6358104563810063 ns/iter 1.39
Regex_Caret_X_Hyphen 8.84847387844502 ns/iter 6.9697391873981545 ns/iter 1.27
Regex_Period_Md_Dollar 99.05465801366945 ns/iter 72.41745298751948 ns/iter 1.37
Regex_Caret_Slash_Period_Asterisk 6.822429953961379 ns/iter 5.253734817520655 ns/iter 1.30
Regex_Caret_Period_Range_Dollar 3.1926554867327517 ns/iter 2.3831040085671558 ns/iter 1.34
Regex_Nested_Backtrack 929.1130023086366 ns/iter 778.0383450810799 ns/iter 1.19
JSON_Array_Of_Objects_Unique 458.10326158635536 ns/iter 349.4487842312841 ns/iter 1.31
JSON_Parse_1 29854.993000355364 ns/iter 25815.9460829652 ns/iter 1.16
JSON_Fast_Hash_Helm_Chart_Lock 67.5748733543709 ns/iter 50.78873288589838 ns/iter 1.33
JSON_Equality_Helm_Chart_Lock 163.01749067049323 ns/iter 124.78743405533902 ns/iter 1.31
JSON_String_Equal/10 10.91576040977508 ns/iter 7.796419882593399 ns/iter 1.40
JSON_String_Equal/100 9.9622469150546 ns/iter 6.175652469465452 ns/iter 1.61
JSON_String_Equal_Small_By_Perfect_Hash/10 0.4575164292236163 ns/iter 0.3254354256671053 ns/iter 1.41
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 4.033729982365786 ns/iter 3.0153546807605487 ns/iter 1.34
JSON_String_Fast_Hash/10 1.9504552115345977 ns/iter 1.6237165705119188 ns/iter 1.20
JSON_String_Fast_Hash/100 2.2590639149875305 ns/iter 2.0089510930097996 ns/iter 1.12
JSON_String_Key_Hash/10 1.4975969607195339 ns/iter 1.2997033658940667 ns/iter 1.15
JSON_String_Key_Hash/100 1.5253044831147493 ns/iter 1.3030258000625032 ns/iter 1.17
JSON_Object_Defines_Miss_Same_Length 2.701055361756601 ns/iter 2.278862154699609 ns/iter 1.19
JSON_Object_Defines_Miss_Too_Small 2.542819746243904 ns/iter 2.3162826675192156 ns/iter 1.10
JSON_Object_Defines_Miss_Too_Large 2.812994288659738 ns/iter 2.3009695321430312 ns/iter 1.22
Pointer_Object_Traverse 20.713585794773195 ns/iter 17.536649998281334 ns/iter 1.18
Pointer_Object_Try_Traverse 29.115132977637494 ns/iter 22.6672184849132 ns/iter 1.28
Pointer_Push_Back_Pointer_To_Weak_Pointer 220.27881331256293 ns/iter 176.7804655016076 ns/iter 1.25

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: 614a5e2 Previous: 5f57199 Ratio
Pointer_Object_Traverse 47.7951079969192 ns/iter 47.06742601779295 ns/iter 1.02
Pointer_Object_Try_Traverse 26.184921920946817 ns/iter 26.418351902663947 ns/iter 0.99
Pointer_Push_Back_Pointer_To_Weak_Pointer 146.46525799552737 ns/iter 145.196934350232 ns/iter 1.01
JSON_Array_Of_Objects_Unique 412.02487113379385 ns/iter 409.293120328177 ns/iter 1.01
JSON_Parse_1 33079.143941547285 ns/iter 33196.58340834629 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 62.87994927183684 ns/iter 66.37142401851297 ns/iter 0.95
JSON_Equality_Helm_Chart_Lock 150.93473439566756 ns/iter 150.4672309010314 ns/iter 1.00
JSON_String_Equal/10 6.3390723909852555 ns/iter 6.3460480984117575 ns/iter 1.00
JSON_String_Equal/100 6.961302126145174 ns/iter 6.966705896207882 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9394246238986174 ns/iter 0.9336229296975276 ns/iter 1.01
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.292041321922808 ns/iter 14.289698917235985 ns/iter 1.00
JSON_String_Fast_Hash/10 0.9348057705256942 ns/iter 0.9330628788082661 ns/iter 1.00
JSON_String_Fast_Hash/100 0.9330486283897941 ns/iter 0.9352882890475009 ns/iter 1.00
JSON_String_Key_Hash/10 1.6790728730731317 ns/iter 1.6728459955899684 ns/iter 1.00
JSON_String_Key_Hash/100 2.0321375145240195 ns/iter 1.983788390760638 ns/iter 1.02
JSON_Object_Defines_Miss_Same_Length 2.5029838961958215 ns/iter 2.48800763685728 ns/iter 1.01
JSON_Object_Defines_Miss_Too_Small 2.488430920043712 ns/iter 2.491110824127373 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.117887063308482 ns/iter 3.1106234184424078 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 3.44039875141746 ns/iter 3.4217025776193877 ns/iter 1.01
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.425054217352913 ns/iter 3.4198030468431626 ns/iter 1.00
Regex_Period_Asterisk 3.419946156963524 ns/iter 3.4211494757237952 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.4272025938350215 ns/iter 3.4248764635328635 ns/iter 1.00
Regex_Period_Plus 3.73213815639708 ns/iter 3.732172807338302 ns/iter 1.00
Regex_Period 3.737091988608658 ns/iter 3.7317627614481683 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.7395766957805208 ns/iter 3.7321144734107254 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 3.7374677989832232 ns/iter 3.7313746099854628 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 4.661099474613015 ns/iter 4.6645188418490395 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.664041465891885 ns/iter 4.667300640189757 ns/iter 1.00
Regex_Caret_X_Hyphen 13.146724998945817 ns/iter 13.152288544215255 ns/iter 1.00
Regex_Period_Md_Dollar 89.13439347725061 ns/iter 94.58096173407347 ns/iter 0.94
Regex_Caret_Slash_Period_Asterisk 8.08511739454422 ns/iter 8.08897952382892 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.6605377401496355 ns/iter 4.692621985949352 ns/iter 0.99
Regex_Nested_Backtrack 818.9423470025821 ns/iter 817.5662836914279 ns/iter 1.00

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: 614a5e2 Previous: 5f57199 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 7.080515625000418 ns/iter 6.963141741071409 ns/iter 1.02
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 6.971845982141542 ns/iter 6.8817823660717785 ns/iter 1.01
Regex_Period_Asterisk 7.054916294644594 ns/iter 7.172011607143045 ns/iter 0.98
Regex_Group_Period_Asterisk_Group 7.0883857142851925 ns/iter 6.979857558125512 ns/iter 1.02
Regex_Period_Plus 7.260680803570706 ns/iter 7.182768750000029 ns/iter 1.01
Regex_Period 7.424348214285662 ns/iter 7.251995056910526 ns/iter 1.02
Regex_Caret_Period_Plus_Dollar 7.481820312500125 ns/iter 7.285589285713608 ns/iter 1.03
Regex_Caret_Group_Period_Plus_Group_Dollar 7.452604910712171 ns/iter 7.223526785714744 ns/iter 1.03
Regex_Caret_Period_Asterisk_Dollar 6.925214285714734 ns/iter 6.984654017856735 ns/iter 0.99
Regex_Caret_Group_Period_Asterisk_Group_Dollar 7.497751116071681 ns/iter 6.8369441964285675 ns/iter 1.10
Regex_Caret_X_Hyphen 11.691030357143616 ns/iter 11.755166071428189 ns/iter 0.99
Regex_Period_Md_Dollar 149.9836071436241 ns/iter 149.7727455356923 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 10.586096875002227 ns/iter 10.611683928571226 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 7.453599330357211 ns/iter 7.609295758927358 ns/iter 0.98
Regex_Nested_Backtrack 617.0425892857371 ns/iter 608.7710714284965 ns/iter 1.01
JSON_Array_Of_Objects_Unique 489.22540000012305 ns/iter 500.78110000004017 ns/iter 0.98
JSON_Parse_1 79640.46874998791 ns/iter 79571.8092942239 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 64.89081249999425 ns/iter 68.82696428570105 ns/iter 0.94
JSON_Equality_Helm_Chart_Lock 188.48851682930885 ns/iter 187.77898998032086 ns/iter 1.00
JSON_String_Equal/10 8.98470758928381 ns/iter 9.048277191750392 ns/iter 0.99
JSON_String_Equal/100 9.915907991446943 ns/iter 9.94699062500004 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 2.1663403124996705 ns/iter 2.169798125 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 15.573772886785756 ns/iter 14.7669419642885 ns/iter 1.05
JSON_String_Fast_Hash/10 4.037916852678133 ns/iter 4.209575855731186 ns/iter 0.96
JSON_String_Fast_Hash/100 4.026242194688824 ns/iter 4.057761895509189 ns/iter 0.99
JSON_String_Key_Hash/10 7.796342375909834 ns/iter 7.767290178572393 ns/iter 1.00
JSON_String_Key_Hash/100 4.0300770089287035 ns/iter 4.027938578621486 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.7254101719186896 ns/iter 3.772953743262671 ns/iter 0.99
JSON_Object_Defines_Miss_Too_Small 4.9502080000002024 ns/iter 4.966725000000695 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.4095820921251625 ns/iter 3.4084231635564968 ns/iter 1.00
Pointer_Object_Traverse 49.19122868845708 ns/iter 49.08610714285341 ns/iter 1.00
Pointer_Object_Try_Traverse 67.6543526785827 ns/iter 67.68774553572246 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 186.97019526520597 ns/iter 178.60165928137772 ns/iter 1.05

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: 614a5e2 Previous: 5f57199 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.0083026415978873 ns/iter 2.336577678256594 ns/iter 0.86
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.9452005437958884 ns/iter 2.2148508477630098 ns/iter 0.88
Regex_Period_Asterisk 1.961591848387151 ns/iter 2.3478048026405394 ns/iter 0.84
Regex_Group_Period_Asterisk_Group 1.9546035505754418 ns/iter 2.310258832705768 ns/iter 0.85
Regex_Period_Plus 2.0214104063270186 ns/iter 2.2801454853642387 ns/iter 0.89
Regex_Period 1.9679774092794724 ns/iter 2.193465531194357 ns/iter 0.90
Regex_Caret_Period_Plus_Dollar 1.9535186730495213 ns/iter 2.1993120395022743 ns/iter 0.89
Regex_Caret_Group_Period_Plus_Group_Dollar 2.0109477882289006 ns/iter 2.180395803793685 ns/iter 0.92
Regex_Caret_Period_Asterisk_Dollar 1.9843496714164206 ns/iter 2.417966383926427 ns/iter 0.82
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.3537237026794684 ns/iter 2.561992840028341 ns/iter 0.92
Regex_Caret_X_Hyphen 6.290647553347136 ns/iter 6.465351936615954 ns/iter 0.97
Regex_Period_Md_Dollar 73.36378572346354 ns/iter 80.96170314428528 ns/iter 0.91
Regex_Caret_Slash_Period_Asterisk 4.607761801861941 ns/iter 5.0324296951293945 ns/iter 0.92
Regex_Caret_Period_Range_Dollar 1.9523348554810973 ns/iter 2.1507506321527723 ns/iter 0.91
Regex_Nested_Backtrack 861.2661276949816 ns/iter 913.4841858000825 ns/iter 0.94
JSON_Array_Of_Objects_Unique 211.6159343968453 ns/iter 234.026730949039 ns/iter 0.90
JSON_Parse_1 24115.720954261873 ns/iter 28587.97223575331 ns/iter 0.84
JSON_Fast_Hash_Helm_Chart_Lock 24.546261509044246 ns/iter 26.76370651910224 ns/iter 0.92
JSON_Equality_Helm_Chart_Lock 118.4427271641603 ns/iter 131.85888675474214 ns/iter 0.90
JSON_String_Equal/10 5.601914395651219 ns/iter 6.339358825705547 ns/iter 0.88
JSON_String_Equal/100 5.310072287839153 ns/iter 6.437921636937374 ns/iter 0.82
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7938212053854683 ns/iter 0.8232951992859046 ns/iter 0.96
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.7575857757212865 ns/iter 3.9130337233157646 ns/iter 0.96
JSON_String_Fast_Hash/10 2.048398737672393 ns/iter 2.04477361531796 ns/iter 1.00
JSON_String_Fast_Hash/100 2.0304191967022054 ns/iter 2.036342996028238 ns/iter 1.00
JSON_String_Key_Hash/10 1.535001375173914 ns/iter 1.5589707691874624 ns/iter 0.98
JSON_String_Key_Hash/100 2.0846535030876687 ns/iter 2.2127030958680307 ns/iter 0.94
JSON_Object_Defines_Miss_Same_Length 1.8663288247736625 ns/iter 1.943353902382196 ns/iter 0.96
JSON_Object_Defines_Miss_Too_Small 2.004699529340067 ns/iter 2.2038259523777324 ns/iter 0.91
JSON_Object_Defines_Miss_Too_Large 1.8284644484152635 ns/iter 1.901493783080745 ns/iter 0.96
Pointer_Object_Traverse 57.51281608010228 ns/iter 61.028887877341866 ns/iter 0.94
Pointer_Object_Try_Traverse 38.64801140937004 ns/iter 39.69378267812432 ns/iter 0.97
Pointer_Push_Back_Pointer_To_Weak_Pointer 189.43983548397642 ns/iter 213.18649942190672 ns/iter 0.89

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

@jviotti jviotti merged commit c3d468a into main Jan 31, 2025
13 checks passed
@jviotti jviotti deleted the flat-file-resolver-visitor branch January 31, 2025 16:05
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