Skip to content

Commit

Permalink
Extract instruction handlers to their own functions (#241)
Browse files Browse the repository at this point in the history
Signed-off-by: Juan Cruz Viotti <[email protected]>
  • Loading branch information
jviotti authored Nov 26, 2024
1 parent 58a5e1a commit 680fcd6
Show file tree
Hide file tree
Showing 3 changed files with 2,162 additions and 1,259 deletions.
Loading

5 comments on commit 680fcd6

@github-actions
Copy link

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: 680fcd6 Previous: 58a5e1a Ratio
Compiler_Draft6_AdaptiveCard 35716529583.00001 ns/iter 33750721165.999947 ns/iter 1.06
Compiler_2019_09_OMC_JSON_V2 7417145500.000061 ns/iter 6753688792.000048 ns/iter 1.10
Evaluator_Draft4_Meta_1_No_Callback 259.3822690342484 ns/iter 248.85436507595927 ns/iter 1.04
Evaluator_Draft4_Required_Properties 335.6036725382896 ns/iter 336.84239148617445 ns/iter 1.00
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 21.173259590034217 ns/iter 21.621050130019345 ns/iter 0.98
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 10.408958768080137 ns/iter 10.72254199342474 ns/iter 0.97
Evaluator_Draft4_Items_Schema 332.9662336126103 ns/iter 388.18849329735446 ns/iter 0.86
Evaluator_Draft4_Nested_Object 2.778921366991213 ns/iter 2.926781764756526 ns/iter 0.95
Evaluator_Draft4_Properties_Triad_Optional 864.0083837752511 ns/iter 804.990845083673 ns/iter 1.07
Evaluator_Draft4_Properties_Triad_Closed 695.4275943162797 ns/iter 682.5646072767948 ns/iter 1.02
Evaluator_Draft4_Properties_Triad_Required 838.3318160748366 ns/iter 807.7924194471747 ns/iter 1.04
Evaluator_Draft4_Properties_Closed 82.08229604839464 ns/iter 100.44850593069499 ns/iter 0.82
Evaluator_Draft4_Non_Recursive_Ref 10.886661211459463 ns/iter 11.388151179768343 ns/iter 0.96
Evaluator_Draft4_Pattern_Properties_True 188.53438504615062 ns/iter 187.1369809003688 ns/iter 1.01
Evaluator_Draft4_Ref_To_Single_Property 12.221813803413857 ns/iter 11.996227351381648 ns/iter 1.02
Evaluator_Draft4_Additional_Properties_Type 21.664581544380987 ns/iter 22.453452517570472 ns/iter 0.96
Evaluator_Draft4_Nested_Oneof 81.58017248899773 ns/iter 75.98432036061268 ns/iter 1.07
Evaluator_Draft4_Long_Enum 21.55832874977887 ns/iter 21.126233433879616 ns/iter 1.02
Evaluator_Draft4_Type_Object 6.070957642810163 ns/iter 6.923178562000674 ns/iter 0.88
Evaluator_Draft6_Property_Names 132.4054266098428 ns/iter 158.01520383120865 ns/iter 0.84
Evaluator_Draft7_If_Then_Else 33.26564446084861 ns/iter 32.19539399714055 ns/iter 1.03
Evaluator_Draft7_Vercel_1 74389.14402548563 ns/iter 76074.09240003978 ns/iter 0.98
Evaluator_Draft7_Helm_Chart_Lock_1 255.03321517579002 ns/iter 246.9771033223926 ns/iter 1.03
Evaluator_2019_09_Unevaluated_Properties 169.35459194746645 ns/iter 153.9695218200499 ns/iter 1.10
Evaluator_2019_09_OMC_JSON_V2_1 2667.349335266108 ns/iter 2531.708650126985 ns/iter 1.05
Evaluator_2020_12_Dynamic_Ref 458.13407888967873 ns/iter 532.994114538653 ns/iter 0.86

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

@github-actions
Copy link

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: 680fcd6 Previous: 58a5e1a Ratio
Compiler_Draft6_AdaptiveCard 54630148641.00006 ns/iter 52904306349.00002 ns/iter 1.03
Compiler_2019_09_OMC_JSON_V2 10908545370.999945 ns/iter 10763207938.999983 ns/iter 1.01
Evaluator_Draft4_Meta_1_No_Callback 350.94801304358106 ns/iter 354.6059032942426 ns/iter 0.99
Evaluator_Draft4_Required_Properties 735.976333723539 ns/iter 776.9791429026652 ns/iter 0.95
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 37.47440067692409 ns/iter 38.62602237468546 ns/iter 0.97
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 22.955584562749575 ns/iter 23.693754695955874 ns/iter 0.97
Evaluator_Draft4_Items_Schema 750.6658467269732 ns/iter 736.6280618847036 ns/iter 1.02
Evaluator_Draft4_Nested_Object 4.645936062359292 ns/iter 4.947449159345495 ns/iter 0.94
Evaluator_Draft4_Properties_Triad_Optional 1175.8376607082241 ns/iter 1197.9045748629703 ns/iter 0.98
Evaluator_Draft4_Properties_Triad_Closed 988.1851201052386 ns/iter 1012.1874865000136 ns/iter 0.98
Evaluator_Draft4_Properties_Triad_Required 1197.9821163977524 ns/iter 1237.279131129014 ns/iter 0.97
Evaluator_Draft4_Properties_Closed 132.0577404226006 ns/iter 134.95437899394602 ns/iter 0.98
Evaluator_Draft4_Non_Recursive_Ref 31.587279672495548 ns/iter 29.38541828215805 ns/iter 1.07
Evaluator_Draft4_Pattern_Properties_True 257.8020171379172 ns/iter 262.6176294674075 ns/iter 0.98
Evaluator_Draft4_Ref_To_Single_Property 22.621739906237657 ns/iter 23.539012676929147 ns/iter 0.96
Evaluator_Draft4_Additional_Properties_Type 63.33574551009494 ns/iter 56.16415343616135 ns/iter 1.13
Evaluator_Draft4_Nested_Oneof 115.61170054190191 ns/iter 141.36952988113458 ns/iter 0.82
Evaluator_Draft4_Long_Enum 21.630002320076404 ns/iter 22.021028464318736 ns/iter 0.98
Evaluator_Draft4_Type_Object 9.8966153847035 ns/iter 11.441492835154214 ns/iter 0.86
Evaluator_Draft6_Property_Names 281.48253908527187 ns/iter 257.4502375888309 ns/iter 1.09
Evaluator_Draft7_If_Then_Else 49.62366079946381 ns/iter 58.12751657589522 ns/iter 0.85
Evaluator_Draft7_Vercel_1 94868.97788931915 ns/iter 91547.93293860229 ns/iter 1.04
Evaluator_Draft7_Helm_Chart_Lock_1 331.1545626990358 ns/iter 336.83819991341966 ns/iter 0.98
Evaluator_2019_09_Unevaluated_Properties 196.62555020367375 ns/iter 182.77678463696458 ns/iter 1.08
Evaluator_2019_09_OMC_JSON_V2_1 3332.186955878475 ns/iter 3245.403605894487 ns/iter 1.03
Evaluator_2020_12_Dynamic_Ref 838.2619749679918 ns/iter 850.7686816802997 ns/iter 0.99

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

@github-actions
Copy link

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: 680fcd6 Previous: 58a5e1a Ratio
Evaluator_2020_12_Dynamic_Ref 883.0442561901946 ns/iter 846.8001023906925 ns/iter 1.04
Evaluator_2019_09_Unevaluated_Properties 234.50391944052666 ns/iter 240.16910317077142 ns/iter 0.98
Evaluator_2019_09_OMC_JSON_V2_1 5054.312119999622 ns/iter 5068.330519397266 ns/iter 1.00
Evaluator_Draft7_If_Then_Else 56.59477399313093 ns/iter 54.63949038116262 ns/iter 1.04
Evaluator_Draft7_Vercel_1 111393.70211382139 ns/iter 112117.80231232732 ns/iter 0.99
Evaluator_Draft7_Helm_Chart_Lock_1 499.5674456296008 ns/iter 497.4010326315082 ns/iter 1.00
Evaluator_Draft6_Property_Names 522.5823838541811 ns/iter 499.7139886305722 ns/iter 1.05
Evaluator_Draft4_Meta_1_No_Callback 458.0657258353357 ns/iter 444.89449364097794 ns/iter 1.03
Evaluator_Draft4_Required_Properties 1753.6154511641892 ns/iter 1723.15190035931 ns/iter 1.02
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 40.486474787772735 ns/iter 39.71639040047299 ns/iter 1.02
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 35.87840679276542 ns/iter 33.83926848618656 ns/iter 1.06
Evaluator_Draft4_Items_Schema 588.7217911840271 ns/iter 603.067426797248 ns/iter 0.98
Evaluator_Draft4_Nested_Object 3.516122901538526 ns/iter 3.485103931141155 ns/iter 1.01
Evaluator_Draft4_Properties_Triad_Optional 1372.9184211206864 ns/iter 1316.2894243691192 ns/iter 1.04
Evaluator_Draft4_Properties_Triad_Closed 1080.0580728550476 ns/iter 1083.8543345849166 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Required 1319.779882096961 ns/iter 1368.6641100689537 ns/iter 0.96
Evaluator_Draft4_Properties_Closed 190.10415859760766 ns/iter 188.48069438420706 ns/iter 1.01
Evaluator_Draft4_Non_Recursive_Ref 50.00949438281963 ns/iter 52.6826262238797 ns/iter 0.95
Evaluator_Draft4_Pattern_Properties_True 374.76770580822694 ns/iter 353.1430979358084 ns/iter 1.06
Evaluator_Draft4_Ref_To_Single_Property 39.176696919640584 ns/iter 38.16275979233756 ns/iter 1.03
Evaluator_Draft4_Additional_Properties_Type 105.31295217663244 ns/iter 111.55274989156848 ns/iter 0.94
Evaluator_Draft4_Nested_Oneof 120.7514038049182 ns/iter 118.86867164915239 ns/iter 1.02
Evaluator_Draft4_Long_Enum 20.597397669890693 ns/iter 20.7895130991975 ns/iter 0.99
Evaluator_Draft4_Type_Object 10.661023283111696 ns/iter 10.627529937584884 ns/iter 1.00
Compiler_2019_09_OMC_JSON_V2 11440648266.00004 ns/iter 11149089327.999945 ns/iter 1.03
Compiler_Draft6_AdaptiveCard 60765325424.00002 ns/iter 60791600315.99997 ns/iter 1.00

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

@github-actions
Copy link

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: 680fcd6 Previous: 58a5e1a Ratio
Compiler_Draft6_AdaptiveCard 49369716167.44995 ns/iter 49709096908.569336 ns/iter 0.99
Compiler_2019_09_OMC_JSON_V2 8978833198.547363 ns/iter 10412559032.440186 ns/iter 0.86
Evaluator_Draft4_Meta_1_No_Callback 275.14648356590675 ns/iter 349.0835594516846 ns/iter 0.79
Evaluator_Draft4_Required_Properties 529.3623651788239 ns/iter 578.2306668467223 ns/iter 0.92
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 26.245471669413906 ns/iter 26.663248570523802 ns/iter 0.98
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 14.59860897785165 ns/iter 18.469691306039554 ns/iter 0.79
Evaluator_Draft4_Items_Schema 566.265424141328 ns/iter 611.4838338135019 ns/iter 0.93
Evaluator_Draft4_Nested_Object 2.142390324754731 ns/iter 2.547180495973728 ns/iter 0.84
Evaluator_Draft4_Properties_Triad_Optional 894.8495819076257 ns/iter 969.2213744595757 ns/iter 0.92
Evaluator_Draft4_Properties_Triad_Closed 753.2343712773627 ns/iter 810.821268890791 ns/iter 0.93
Evaluator_Draft4_Properties_Triad_Required 870.4333508245913 ns/iter 1094.578000158944 ns/iter 0.80
Evaluator_Draft4_Properties_Closed 106.39567889397078 ns/iter 105.54059869964553 ns/iter 1.01
Evaluator_Draft4_Non_Recursive_Ref 20.387662066377583 ns/iter 21.41009746093559 ns/iter 0.95
Evaluator_Draft4_Pattern_Properties_True 204.82991507608688 ns/iter 253.0811131997183 ns/iter 0.81
Evaluator_Draft4_Ref_To_Single_Property 13.60167840106197 ns/iter 14.378499458284423 ns/iter 0.95
Evaluator_Draft4_Additional_Properties_Type 38.035641724673766 ns/iter 36.92742122292262 ns/iter 1.03
Evaluator_Draft4_Nested_Oneof 89.31551101516003 ns/iter 84.00129569665415 ns/iter 1.06
Evaluator_Draft4_Long_Enum 12.33350577747478 ns/iter 12.515883909647224 ns/iter 0.99
Evaluator_Draft4_Type_Object 6.589946516747095 ns/iter 6.181778732066696 ns/iter 1.07
Evaluator_Draft6_Property_Names 192.9048229554992 ns/iter 192.08791062483098 ns/iter 1.00
Evaluator_Draft7_If_Then_Else 37.34966200328421 ns/iter 33.30820775812708 ns/iter 1.12
Evaluator_Draft7_Vercel_1 96093.11231464057 ns/iter 80099.76850563713 ns/iter 1.20
Evaluator_Draft7_Helm_Chart_Lock_1 248.67746889670696 ns/iter 252.15779788038154 ns/iter 0.99
Evaluator_2019_09_Unevaluated_Properties 163.42145857788148 ns/iter 153.9002039930021 ns/iter 1.06
Evaluator_2019_09_OMC_JSON_V2_1 2869.5415699697937 ns/iter 2498.1772418136625 ns/iter 1.15
Evaluator_2020_12_Dynamic_Ref 723.3963002810297 ns/iter 618.5765206036374 ns/iter 1.17

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

@github-actions
Copy link

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: 680fcd6 Previous: 58a5e1a Ratio
Compiler_Draft6_AdaptiveCard 122002321899.99997 ns/iter 124131966800.0001 ns/iter 0.98
Compiler_2019_09_OMC_JSON_V2 25914010100.000042 ns/iter 26184637500.000008 ns/iter 0.99
Evaluator_Draft4_Meta_1_No_Callback 415.3671006154919 ns/iter 455.28940966279254 ns/iter 0.91
Evaluator_Draft4_Required_Properties 691.9036830357328 ns/iter 799.1589289471447 ns/iter 0.87
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 35.22106268250826 ns/iter 42.558628419316946 ns/iter 0.83
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 21.460443750001446 ns/iter 23.380174999999785 ns/iter 0.92
Evaluator_Draft4_Items_Schema 572.7230357142129 ns/iter 690.2352678570217 ns/iter 0.83
Evaluator_Draft4_Nested_Object 3.809473921769071 ns/iter 4.039705319713579 ns/iter 0.94
Evaluator_Draft4_Properties_Triad_Optional 1677.788616071041 ns/iter 1702.5840161268045 ns/iter 0.99
Evaluator_Draft4_Properties_Triad_Closed 1384.0531321191768 ns/iter 1412.3914676824493 ns/iter 0.98
Evaluator_Draft4_Properties_Triad_Required 1709.8147925344597 ns/iter 1718.1784699696236 ns/iter 1.00
Evaluator_Draft4_Properties_Closed 127.77399876011748 ns/iter 160.7295535714164 ns/iter 0.79
Evaluator_Draft4_Non_Recursive_Ref 15.939977125400121 ns/iter 19.134018920836137 ns/iter 0.83
Evaluator_Draft4_Pattern_Properties_True 231.10209474308817 ns/iter 308.9514588223686 ns/iter 0.75
Evaluator_Draft4_Ref_To_Single_Property 22.47966939197296 ns/iter 24.450782142853964 ns/iter 0.92
Evaluator_Draft4_Additional_Properties_Type 31.318486607137938 ns/iter 35.00411223221011 ns/iter 0.89
Evaluator_Draft4_Nested_Oneof 151.90970750404267 ns/iter 167.6804264071711 ns/iter 0.91
Evaluator_Draft4_Long_Enum 42.16565186647488 ns/iter 44.871999999998025 ns/iter 0.94
Evaluator_Draft4_Type_Object 9.307570940593196 ns/iter 10.429372721296746 ns/iter 0.89
Evaluator_Draft6_Property_Names 291.2883737401724 ns/iter 460.7495624999558 ns/iter 0.63
Evaluator_Draft7_If_Then_Else 46.971189535976265 ns/iter 61.55008035713244 ns/iter 0.76
Evaluator_Draft7_Vercel_1 104978.4062499981 ns/iter 120724.21428574184 ns/iter 0.87
Evaluator_Draft7_Helm_Chart_Lock_1 302.3092857143338 ns/iter 365.7432739744418 ns/iter 0.83
Evaluator_2019_09_Unevaluated_Properties 320.65258928568596 ns/iter 428.4763258779666 ns/iter 0.75
Evaluator_2019_09_OMC_JSON_V2_1 3937.304129464993 ns/iter 4322.814387136454 ns/iter 0.91
Evaluator_2020_12_Dynamic_Ref 1155.5978571428634 ns/iter 1386.4710774684156 ns/iter 0.83

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

Please sign in to comment.