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

Introduce the idea of framing modes #1549

Merged
merged 1 commit into from
Feb 11, 2025
Merged

Introduce the idea of framing modes #1549

merged 1 commit into from
Feb 11, 2025

Conversation

jviotti
Copy link
Member

@jviotti jviotti commented Feb 11, 2025

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

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: 5ece559 Previous: b5cdffb Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.268163008208644 ns/iter 2.2349538849972546 ns/iter 1.01
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.212094330594637 ns/iter 2.1942738388335385 ns/iter 1.01
Regex_Period_Asterisk 2.2113154173275564 ns/iter 2.184912592899142 ns/iter 1.01
Regex_Group_Period_Asterisk_Group 2.2180876448974973 ns/iter 2.1917092653176926 ns/iter 1.01
Regex_Period_Plus 2.4875947969272056 ns/iter 2.490796317542416 ns/iter 1.00
Regex_Period 2.487561849268629 ns/iter 2.4871989478952465 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 2.4857710234514396 ns/iter 2.491267001993584 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 2.4975787396479885 ns/iter 2.487302898267284 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 2.2082235561783854 ns/iter 3.106538363801349 ns/iter 0.71
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.2054133622100687 ns/iter 2.1801077423006796 ns/iter 1.01
Regex_Caret_X_Hyphen 13.04670867284345 ns/iter 12.470036935261204 ns/iter 1.05
Regex_Period_Md_Dollar 79.92231547454915 ns/iter 73.30295523316838 ns/iter 1.09
Regex_Caret_Slash_Period_Asterisk 6.082368076849756 ns/iter 5.911520557436913 ns/iter 1.03
Regex_Caret_Period_Range_Dollar 2.7972016067941965 ns/iter 2.5108495732630898 ns/iter 1.11
Regex_Nested_Backtrack 493.9518866708845 ns/iter 496.679884812141 ns/iter 0.99
JSON_Array_Of_Objects_Unique 451.8845862319436 ns/iter 392.63670107594385 ns/iter 1.15
JSON_Parse_1 30783.094498981733 ns/iter 30490.11678264249 ns/iter 1.01
JSON_Fast_Hash_Helm_Chart_Lock 68.42454980373851 ns/iter 56.01237821565964 ns/iter 1.22
JSON_Equality_Helm_Chart_Lock 159.14883351971014 ns/iter 161.54335727558734 ns/iter 0.99
JSON_String_Equal/10 6.5393728437138465 ns/iter 7.014440762903042 ns/iter 0.93
JSON_String_Equal/100 7.160119399326242 ns/iter 6.8515540511659525 ns/iter 1.05
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9374422783485454 ns/iter 0.9391825579963624 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.25666784567259 ns/iter 10.260861052693743 ns/iter 1.00
JSON_String_Fast_Hash/10 2.7978739034686293 ns/iter 2.1768002459246993 ns/iter 1.29
JSON_String_Fast_Hash/100 2.8013125972039687 ns/iter 2.176187345810927 ns/iter 1.29
JSON_String_Key_Hash/10 2.4921258673008078 ns/iter 2.491150479145749 ns/iter 1.00
JSON_String_Key_Hash/100 2.179092215634227 ns/iter 2.179533000461269 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.7332302651650004 ns/iter 3.7318839931830614 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.734301734789515 ns/iter 3.73185613286778 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.732421822688254 ns/iter 3.7354132471788604 ns/iter 1.00
Pointer_Object_Traverse 44.72398294740239 ns/iter 44.96096012680536 ns/iter 0.99
Pointer_Object_Try_Traverse 52.30481079876112 ns/iter 52.30335672145912 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 303.00965766562757 ns/iter 349.95490662113014 ns/iter 0.87
Schema_Frame_OMC_Full 241028756.33332133 ns/iter 241514758.33332372 ns/iter 1.00
Schema_Bundle_Meta_2020_12 10450950.015147306 ns/iter 10386397.253723567 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 (macos/llvm)

Benchmark suite Current: 5ece559 Previous: b5cdffb Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.742256331417902 ns/iter 1.8444213923781547 ns/iter 0.94
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.116817687123603 ns/iter 1.8183604934551092 ns/iter 1.16
Regex_Period_Asterisk 1.9091344223302096 ns/iter 1.7942702796952148 ns/iter 1.06
Regex_Group_Period_Asterisk_Group 1.8416050364879837 ns/iter 1.7961001637624718 ns/iter 1.03
Regex_Period_Plus 2.223120676308408 ns/iter 2.1200654575678533 ns/iter 1.05
Regex_Period 2.157984215826029 ns/iter 2.1769124799194315 ns/iter 0.99
Regex_Caret_Period_Plus_Dollar 2.442225450608808 ns/iter 2.05146954692257 ns/iter 1.19
Regex_Caret_Group_Period_Plus_Group_Dollar 2.261768284997921 ns/iter 2.072047340594785 ns/iter 1.09
Regex_Caret_Period_Asterisk_Dollar 1.8703544875357883 ns/iter 1.7205541920359066 ns/iter 1.09
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.8777691981963338 ns/iter 1.6753444860202664 ns/iter 1.12
Regex_Caret_X_Hyphen 8.547646446119627 ns/iter 7.421579655167888 ns/iter 1.15
Regex_Period_Md_Dollar 78.31130352499541 ns/iter 74.04714701995356 ns/iter 1.06
Regex_Caret_Slash_Period_Asterisk 6.025116295410289 ns/iter 5.746620726938812 ns/iter 1.05
Regex_Caret_Period_Range_Dollar 2.838456912942207 ns/iter 2.355355144535292 ns/iter 1.21
Regex_Nested_Backtrack 834.32328612686 ns/iter 765.6018249025426 ns/iter 1.09
JSON_Array_Of_Objects_Unique 368.6119642222881 ns/iter 426.00059730069825 ns/iter 0.87
JSON_Parse_1 23786.847432606028 ns/iter 22370.080549534705 ns/iter 1.06
JSON_Fast_Hash_Helm_Chart_Lock 51.5243712205703 ns/iter 55.2421625000079 ns/iter 0.93
JSON_Equality_Helm_Chart_Lock 136.31608336548595 ns/iter 128.12546689342 ns/iter 1.06
JSON_String_Equal/10 8.73166622559401 ns/iter 7.847758956212208 ns/iter 1.11
JSON_String_Equal/100 6.494507367027328 ns/iter 6.346505843573472 ns/iter 1.02
JSON_String_Equal_Small_By_Perfect_Hash/10 0.34293127528659256 ns/iter 0.3354873845267403 ns/iter 1.02
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.1974748170901393 ns/iter 3.0269105104197616 ns/iter 1.06
JSON_String_Fast_Hash/10 1.7372970936437069 ns/iter 1.6083211754770361 ns/iter 1.08
JSON_String_Fast_Hash/100 2.1697087482846618 ns/iter 1.9520491207902047 ns/iter 1.11
JSON_String_Key_Hash/10 1.3408280504221917 ns/iter 1.3576679287423095 ns/iter 0.99
JSON_String_Key_Hash/100 1.3626399660173951 ns/iter 1.3763617160442967 ns/iter 0.99
JSON_Object_Defines_Miss_Same_Length 2.409300568914025 ns/iter 2.3100718052589 ns/iter 1.04
JSON_Object_Defines_Miss_Too_Small 2.2572404468146816 ns/iter 2.302926452706485 ns/iter 0.98
JSON_Object_Defines_Miss_Too_Large 2.2597981676930745 ns/iter 2.310927124726863 ns/iter 0.98
Pointer_Object_Traverse 15.91233629206987 ns/iter 16.104087297463778 ns/iter 0.99
Pointer_Object_Try_Traverse 22.684893430938278 ns/iter 22.460817472779482 ns/iter 1.01
Pointer_Push_Back_Pointer_To_Weak_Pointer 175.95466082341548 ns/iter 173.625981077812 ns/iter 1.01
Schema_Frame_OMC_Full 160216853.99999797 ns/iter 161518675.0000021 ns/iter 0.99
Schema_Bundle_Meta_2020_12 7476690.925531851 ns/iter 7383415.343743612 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: 5ece559 Previous: b5cdffb Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 6.7086928571435624 ns/iter 6.534661830358399 ns/iter 1.03
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 6.593793749999576 ns/iter 6.561756696429809 ns/iter 1.00
Regex_Period_Asterisk 6.599556919642931 ns/iter 6.705693749998837 ns/iter 0.98
Regex_Group_Period_Asterisk_Group 6.921248214285112 ns/iter 7.028895089286534 ns/iter 0.98
Regex_Period_Plus 6.938056919645012 ns/iter 7.002263392856938 ns/iter 0.99
Regex_Period 6.838377232141519 ns/iter 7.055739955355022 ns/iter 0.97
Regex_Caret_Period_Plus_Dollar 7.056208705356377 ns/iter 6.8786557728630395 ns/iter 1.03
Regex_Caret_Group_Period_Plus_Group_Dollar 7.083816964286172 ns/iter 7.048380580358631 ns/iter 1.01
Regex_Caret_Period_Asterisk_Dollar 6.564417857142806 ns/iter 6.8280696428563 ns/iter 0.96
Regex_Caret_Group_Period_Asterisk_Group_Dollar 6.718322544644804 ns/iter 6.738003348214505 ns/iter 1.00
Regex_Caret_X_Hyphen 11.831755357146028 ns/iter 14.42048660714639 ns/iter 0.82
Regex_Period_Md_Dollar 149.63723214285503 ns/iter 153.9481473214112 ns/iter 0.97
Regex_Caret_Slash_Period_Asterisk 9.942532812498683 ns/iter 10.284473437501163 ns/iter 0.97
Regex_Caret_Period_Range_Dollar 7.3455569196413855 ns/iter 7.416595982141822 ns/iter 0.99
Regex_Nested_Backtrack 596.1115000000063 ns/iter 598.6018750001725 ns/iter 1.00
JSON_Array_Of_Objects_Unique 450.2187298520967 ns/iter 404.27340159490024 ns/iter 1.11
JSON_Parse_1 79636.06026784983 ns/iter 98320.45312499815 ns/iter 0.81
JSON_Fast_Hash_Helm_Chart_Lock 65.08690178569461 ns/iter 55.8829553571424 ns/iter 1.16
JSON_Equality_Helm_Chart_Lock 192.15302179595884 ns/iter 195.42917816333147 ns/iter 0.98
JSON_String_Equal/10 9.73170531369609 ns/iter 10.0505421874999 ns/iter 0.97
JSON_String_Equal/100 9.944176294892213 ns/iter 9.922209330706126 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 2.166771249999755 ns/iter 2.1672815625002784 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.84815625000278 ns/iter 14.52056249999905 ns/iter 1.02
JSON_String_Fast_Hash/10 3.7181164219327716 ns/iter 3.0986915178569268 ns/iter 1.20
JSON_String_Fast_Hash/100 3.712975707655086 ns/iter 3.0968401785713695 ns/iter 1.20
JSON_String_Key_Hash/10 7.456426339285116 ns/iter 7.602110491072368 ns/iter 0.98
JSON_String_Key_Hash/100 3.7300955290536533 ns/iter 3.721802494184263 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 4.043481584822421 ns/iter 4.033598221487906 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.41681262782771 ns/iter 3.404046734992544 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 5.257814990611875 ns/iter 3.7241571362065766 ns/iter 1.41
Pointer_Object_Traverse 52.59639000000789 ns/iter 49.52667999998539 ns/iter 1.06
Pointer_Object_Try_Traverse 71.00805357142447 ns/iter 65.41366071429269 ns/iter 1.09
Pointer_Push_Back_Pointer_To_Weak_Pointer 184.26012359464838 ns/iter 172.11602938276425 ns/iter 1.07
Schema_Frame_OMC_Full 471873600.0000945 ns/iter 467771350.0000209 ns/iter 1.01
Schema_Bundle_Meta_2020_12 23012186.66667258 ns/iter 23530150.000033244 ns/iter 0.98

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: 5ece559 Previous: b5cdffb Ratio
Schema_Frame_OMC_Full 233165535.00001192 ns/iter 240810116.99998572 ns/iter 0.97
Schema_Bundle_Meta_2020_12 10659026.461541124 ns/iter 10653629.984610163 ns/iter 1.00
Pointer_Object_Traverse 52.02007264203366 ns/iter 50.10181337816171 ns/iter 1.04
Pointer_Object_Try_Traverse 26.518649752782338 ns/iter 26.48701212236391 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 160.82737661917412 ns/iter 160.3842267949935 ns/iter 1.00
JSON_Array_Of_Objects_Unique 405.78409110094736 ns/iter 368.7576082835198 ns/iter 1.10
JSON_Parse_1 33438.12661139712 ns/iter 33664.598658038114 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 66.30451312923081 ns/iter 63.10566210321151 ns/iter 1.05
JSON_Equality_Helm_Chart_Lock 147.80367892749032 ns/iter 147.62962380371624 ns/iter 1.00
JSON_String_Equal/10 5.715090406093176 ns/iter 5.7180804649717665 ns/iter 1.00
JSON_String_Equal/100 6.342297529809813 ns/iter 6.341592454392342 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6238683342421015 ns/iter 0.936118025855481 ns/iter 0.67
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 25.469923919972366 ns/iter 11.796535363305372 ns/iter 2.16
JSON_String_Fast_Hash/10 0.9674657696985994 ns/iter 0.9349994851976029 ns/iter 1.03
JSON_String_Fast_Hash/100 0.9329061845723797 ns/iter 0.9349096664057152 ns/iter 1.00
JSON_String_Key_Hash/10 1.2466227678380375 ns/iter 1.2459202575492172 ns/iter 1.00
JSON_String_Key_Hash/100 0.9366365569331986 ns/iter 0.9350979995925786 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.491401581607837 ns/iter 2.5039604706308958 ns/iter 0.99
JSON_Object_Defines_Miss_Too_Small 2.798966887072756 ns/iter 2.7979364309627925 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 2.5042524431555773 ns/iter 2.4919375334949616 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 3.110405726688963 ns/iter 3.1097577152027553 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1120692826204124 ns/iter 2.8049638218244226 ns/iter 1.11
Regex_Period_Asterisk 3.1343300854181684 ns/iter 2.8044289572892 ns/iter 1.12
Regex_Group_Period_Asterisk_Group 3.109072236470977 ns/iter 2.7995481916335945 ns/iter 1.11
Regex_Period_Plus 3.41716346372293 ns/iter 2.8053615591773706 ns/iter 1.22
Regex_Period 3.4183307704614068 ns/iter 2.7987294357855714 ns/iter 1.22
Regex_Caret_Period_Plus_Dollar 3.43106891582752 ns/iter 2.7992268966977267 ns/iter 1.23
Regex_Caret_Group_Period_Plus_Group_Dollar 3.4243138494938603 ns/iter 2.804095929160143 ns/iter 1.22
Regex_Caret_Period_Asterisk_Dollar 4.352160760355952 ns/iter 2.803574431115508 ns/iter 1.55
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.353417999078325 ns/iter 2.7979432369983868 ns/iter 1.56
Regex_Caret_X_Hyphen 13.680441212264151 ns/iter 13.106464171448842 ns/iter 1.04
Regex_Period_Md_Dollar 88.4581046606999 ns/iter 92.6849144553758 ns/iter 0.95
Regex_Caret_Slash_Period_Asterisk 9.322248111413312 ns/iter 7.784457339785916 ns/iter 1.20
Regex_Caret_Period_Range_Dollar 4.353265418378069 ns/iter 3.4195804532759606 ns/iter 1.27
Regex_Nested_Backtrack 819.3646140133721 ns/iter 829.4732182879665 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: 5ece559 Previous: b5cdffb Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.0446786380067996 ns/iter 1.9623587462481782 ns/iter 1.04
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.097941995699704 ns/iter 1.9389800422400334 ns/iter 1.08
Regex_Period_Asterisk 2.183793587133482 ns/iter 1.9430573569690823 ns/iter 1.12
Regex_Group_Period_Asterisk_Group 2.3821320647152024 ns/iter 1.9315860470131037 ns/iter 1.23
Regex_Period_Plus 1.717953539560066 ns/iter 1.6469516550742778 ns/iter 1.04
Regex_Period 1.7014199123652507 ns/iter 1.6048549335370854 ns/iter 1.06
Regex_Caret_Period_Plus_Dollar 1.624666972971319 ns/iter 1.609542701422055 ns/iter 1.01
Regex_Caret_Group_Period_Plus_Group_Dollar 1.6368414310495574 ns/iter 1.6073993145748244 ns/iter 1.02
Regex_Caret_Period_Asterisk_Dollar 1.9494521878393765 ns/iter 1.9194988434251163 ns/iter 1.02
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.9462684964729455 ns/iter 2.1522351345438167 ns/iter 0.90
Regex_Caret_X_Hyphen 6.158613298707705 ns/iter 6.298595813902177 ns/iter 0.98
Regex_Period_Md_Dollar 71.39191242745446 ns/iter 71.60120222788728 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 4.556900534539932 ns/iter 4.5435037996503285 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 1.9825783083166602 ns/iter 1.937888686642154 ns/iter 1.02
Regex_Nested_Backtrack 885.4877434291466 ns/iter 871.3501839445506 ns/iter 1.02
JSON_Array_Of_Objects_Unique 213.24654012705207 ns/iter 220.37023887432863 ns/iter 0.97
JSON_Parse_1 23631.977531736142 ns/iter 23285.991348683572 ns/iter 1.01
JSON_Fast_Hash_Helm_Chart_Lock 24.11236984442187 ns/iter 23.554110409972214 ns/iter 1.02
JSON_Equality_Helm_Chart_Lock 117.47536800390063 ns/iter 118.74767725557751 ns/iter 0.99
JSON_String_Equal/10 5.5543751062328806 ns/iter 5.539579021320741 ns/iter 1.00
JSON_String_Equal/100 5.605784335908728 ns/iter 5.161372626561699 ns/iter 1.09
JSON_String_Equal_Small_By_Perfect_Hash/10 1.01656987292428 ns/iter 0.7688125651763483 ns/iter 1.32
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.75811310032515 ns/iter 3.512942353391748 ns/iter 1.07
JSON_String_Fast_Hash/10 2.2587411414726604 ns/iter 1.9352444280434358 ns/iter 1.17
JSON_String_Fast_Hash/100 2.3032873106984986 ns/iter 1.9168920420170066 ns/iter 1.20
JSON_String_Key_Hash/10 1.6107366656864963 ns/iter 1.4485998285392312 ns/iter 1.11
JSON_String_Key_Hash/100 2.0716148367417277 ns/iter 1.9569132927677755 ns/iter 1.06
JSON_Object_Defines_Miss_Same_Length 1.8517245087639551 ns/iter 1.7886911163765666 ns/iter 1.04
JSON_Object_Defines_Miss_Too_Small 2.043304944047684 ns/iter 1.902881334413093 ns/iter 1.07
JSON_Object_Defines_Miss_Too_Large 1.8546829566089575 ns/iter 1.7500228488881844 ns/iter 1.06
Pointer_Object_Traverse 56.23346339842137 ns/iter 55.48826080445096 ns/iter 1.01
Pointer_Object_Try_Traverse 38.50767649973121 ns/iter 36.13547214158979 ns/iter 1.07
Pointer_Push_Back_Pointer_To_Weak_Pointer 167.77254561238883 ns/iter 158.3370523203024 ns/iter 1.06
Schema_Frame_OMC_Full 203192949.29504395 ns/iter 186933517.4560547 ns/iter 1.09
Schema_Bundle_Meta_2020_12 9458216.46097544 ns/iter 8879676.277254835 ns/iter 1.07

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

@jviotti jviotti merged commit f48ed88 into main Feb 11, 2025
13 checks passed
@jviotti jviotti deleted the frame-mode branch February 11, 2025 17:58
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