Skip to content

Try a switch based dispatching for the evaluator#654

Closed
jviotti wants to merge 2 commits intomainfrom
dispatch-switch
Closed

Try a switch based dispatching for the evaluator#654
jviotti wants to merge 2 commits intomainfrom
dispatch-switch

Conversation

@jviotti
Copy link
Member

@jviotti jviotti commented Mar 6, 2026

Signed-off-by: Juan Cruz Viotti jv@jviotti.com

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@augmentcode
Copy link

augmentcode bot commented Mar 6, 2026

🤖 Augment PR Summary

Summary: This PR switches the evaluator’s instruction dispatch from an indexed function-pointer table to an explicit switch on InstructionIndex.

Changes:

  • Removed the `DispatchHandler` alias and the `handlers[]` jump table used to call instruction handlers by enum index
  • Replaced the indirect call with a `switch (instruction.type)` that directly calls each handler
  • Added a `default` branch that returns `false` when the instruction type is not matched

Technical Notes: The old approach depended on InstructionIndex staying perfectly aligned with the handler array ordering; the new dispatch makes the mapping explicit and avoids out-of-bounds indexing on unexpected values.

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

case InstructionIndex::ControlJump:
return ControlJump(instruction, instance, depth, context);
default:
return false;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With default: return false;, an unexpected/unsupported InstructionIndex is treated as a normal evaluation failure, which could hide internal bugs or future enum additions missing from this switch. Consider failing loudly here (or omitting default so compilers can warn on non-exhaustive switches).

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

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)

Details
Benchmark suite Current: 82aa6e8 Previous: d44f6f1 Ratio
E2E_Compiler_adaptivecard 73920678.14285903 ns/iter 66540709.77777514 ns/iter 1.11
E2E_Compiler_ansible_meta 28555014.800001573 ns/iter 27170071.576921813 ns/iter 1.05
E2E_Compiler_aws_cdk 350790.34565434104 ns/iter 350889.01350677456 ns/iter 1.00
E2E_Compiler_babelrc 2432512.634146415 ns/iter 2423951.4374999357 ns/iter 1.00
E2E_Compiler_clang_format 18085787.82051357 ns/iter 17206391.609755795 ns/iter 1.05
E2E_Compiler_cmake_presets 28638820.639998812 ns/iter 25705664.33333473 ns/iter 1.11
E2E_Compiler_code_climate 2425884.7197231 ns/iter 2443905.685120966 ns/iter 0.99
E2E_Compiler_cql2 14344485.840000516 ns/iter 12994384.96226376 ns/iter 1.10
E2E_Compiler_cspell 24543972.96551845 ns/iter 22410223.32258207 ns/iter 1.10
E2E_Compiler_cypress 3895198.8166666576 ns/iter 3820414.30601094 ns/iter 1.02
E2E_Compiler_deno 7295556.468749945 ns/iter 7218469.886598288 ns/iter 1.01
E2E_Compiler_dependabot 3678419.2421051604 ns/iter 3619238.3367875745 ns/iter 1.02
E2E_Compiler_draft_04 2559045.481751934 ns/iter 2517314.46953409 ns/iter 1.02
E2E_Compiler_fabric_mod 4546333.845161326 ns/iter 4454186.2929937905 ns/iter 1.02
E2E_Compiler_geojson 23317132.10000051 ns/iter 21005966.969696462 ns/iter 1.11
E2E_Compiler_gitpod_configuration 4709241.805369096 ns/iter 4604187.092105113 ns/iter 1.02
E2E_Compiler_helm_chart_lock 659914.2325141904 ns/iter 658728.8506069179 ns/iter 1.00
E2E_Compiler_importmap 267174.0072380869 ns/iter 266218.46560244274 ns/iter 1.00
E2E_Compiler_jasmine 1291822.329020338 ns/iter 1269311.8203266417 ns/iter 1.02
E2E_Compiler_jshintrc 4149569.0414200597 ns/iter 4094522.684210543 ns/iter 1.01
E2E_Compiler_jsconfig 21629773.96774258 ns/iter 20517902.79411889 ns/iter 1.05
E2E_Compiler_krakend 158761011.2500073 ns/iter 141716558.600001 ns/iter 1.12
E2E_Compiler_lazygit 35664613.19999803 ns/iter 31634914.681818187 ns/iter 1.13
E2E_Compiler_lerna 1500092.288461602 ns/iter 1497091.0662392315 ns/iter 1.00
E2E_Compiler_nest_cli 7099832.848485226 ns/iter 6939206.415841517 ns/iter 1.02
E2E_Compiler_omc 189355465.00000554 ns/iter 163293245.99999496 ns/iter 1.16
E2E_Compiler_omnisharp 6559581.654545355 ns/iter 6247455.258928828 ns/iter 1.05
E2E_Compiler_openapi 26145146.148148037 ns/iter 24012745.344826914 ns/iter 1.09
E2E_Compiler_pre_commit_hooks 5045768.61151064 ns/iter 5001970.08571409 ns/iter 1.01
E2E_Compiler_pulumi 3847930.505494495 ns/iter 3809355.679347858 ns/iter 1.01
E2E_Compiler_semantic_release 1478207.701902806 ns/iter 1468540.7949790359 ns/iter 1.01
E2E_Compiler_stale 1468212.5041666438 ns/iter 1458600.4520833031 ns/iter 1.01
E2E_Compiler_stylecop 5627464.8960002195 ns/iter 5581882.743999813 ns/iter 1.01
E2E_Compiler_tmuxinator 1824670.7931936835 ns/iter 1807276.110824758 ns/iter 1.01
E2E_Compiler_ui5 58496187.83333691 ns/iter 47937393.33333254 ns/iter 1.22
E2E_Compiler_ui5_manifest 370703900.9999846 ns/iter 334584181.4999915 ns/iter 1.11
E2E_Compiler_unreal_engine_uproject 4488582.481249992 ns/iter 4279027.564417166 ns/iter 1.05
E2E_Compiler_vercel 13102803.094340125 ns/iter 12303121.087718569 ns/iter 1.06
E2E_Compiler_yamllint 325773.3481101193 ns/iter 325640.95450324134 ns/iter 1.00
E2E_Evaluator_adaptivecard 31868.583758022512 ns/iter 26728.672659639575 ns/iter 1.19
E2E_Evaluator_ansible_meta 279225.5582426435 ns/iter 237653.52000000505 ns/iter 1.17
E2E_Evaluator_aws_cdk 59132.65014117295 ns/iter 53031.030930979476 ns/iter 1.12
E2E_Evaluator_babelrc 131969.51163663485 ns/iter 110136.33027522136 ns/iter 1.20
E2E_Evaluator_cerebrum_criminal_case 1530708.6989689674 ns/iter 1332738.4750000376 ns/iter 1.15
E2E_Evaluator_clang_format 133407.8558473387 ns/iter 128844.32832815484 ns/iter 1.04
E2E_Evaluator_cmake_presets 6620894.916666645 ns/iter 5033418.32575748 ns/iter 1.32
E2E_Evaluator_code_climate 218347.22922546824 ns/iter 183143.4068152009 ns/iter 1.19
E2E_Evaluator_cql2 268525.206553756 ns/iter 220546.78852932237 ns/iter 1.22
E2E_Evaluator_cspell 646129.7828054245 ns/iter 588326.4839255444 ns/iter 1.10
E2E_Evaluator_cypress 207988.43469143263 ns/iter 195469.9822033843 ns/iter 1.06
E2E_Evaluator_deno 362851.4005208435 ns/iter 328368.1526291432 ns/iter 1.11
E2E_Evaluator_dependabot 475603.46470184537 ns/iter 439032.8525402868 ns/iter 1.08
E2E_Evaluator_draft_04 9658647.219178215 ns/iter 8619579.807229336 ns/iter 1.12
E2E_Evaluator_fabric_mod 801198.8375000359 ns/iter 720478.4195519323 ns/iter 1.11
E2E_Evaluator_geojson 18741410.657146066 ns/iter 16089617.500000486 ns/iter 1.16
E2E_Evaluator_gitpod_configuration 272006.0950018912 ns/iter 242598.15960797897 ns/iter 1.12
E2E_Evaluator_helm_chart_lock 400910.06002265896 ns/iter 377816.5154419511 ns/iter 1.06
E2E_Evaluator_importmap 59211.096414078274 ns/iter 51465.326678897814 ns/iter 1.15
E2E_Evaluator_jasmine 125291.8142475599 ns/iter 111442.01280649418 ns/iter 1.12
E2E_Evaluator_jshintrc 1241186.9840142124 ns/iter 1223733.01757467 ns/iter 1.01
E2E_Evaluator_jsconfig 467342.3840432684 ns/iter 432484.94607843657 ns/iter 1.08
E2E_Evaluator_krakend 247552.8814215257 ns/iter 227927.44891946207 ns/iter 1.09
E2E_Evaluator_lazygit 176825.96791444704 ns/iter 155677.1582909046 ns/iter 1.14
E2E_Evaluator_lerna 175458.2113364455 ns/iter 153108.55405992232 ns/iter 1.15
E2E_Evaluator_nest_cli 211589.6136295206 ns/iter 191386.62586851045 ns/iter 1.11
E2E_Evaluator_omc 24739.782637601158 ns/iter 21189.243712055577 ns/iter 1.17
E2E_Evaluator_omnisharp 666286.424068796 ns/iter 631569.9485981517 ns/iter 1.05
E2E_Evaluator_openapi 16806142.452383354 ns/iter 12415235.615384072 ns/iter 1.35
E2E_Evaluator_pre_commit_hooks 513663.51568783395 ns/iter 506876.10688664933 ns/iter 1.01
E2E_Evaluator_pulumi 798071.1477663117 ns/iter 695199.8906560632 ns/iter 1.15
E2E_Evaluator_semantic_release 119557.07822553659 ns/iter 101282.9600058026 ns/iter 1.18
E2E_Evaluator_stale 169882.59409771374 ns/iter 156878.88781132762 ns/iter 1.08
E2E_Evaluator_stylecop 329233.6945525313 ns/iter 302968.95547797333 ns/iter 1.09
E2E_Evaluator_tmuxinator 114709.24983627995 ns/iter 99228.50762711829 ns/iter 1.16
E2E_Evaluator_ui5 619445.8361531203 ns/iter 536936.2743431092 ns/iter 1.15
E2E_Evaluator_ui5_manifest 4505177.282051311 ns/iter 2624881.045282976 ns/iter 1.72
E2E_Evaluator_unreal_engine_uproject 462506.7180850473 ns/iter 443937.1125869715 ns/iter 1.04
E2E_Evaluator_vercel 349284.1848529866 ns/iter 323398.0206896533 ns/iter 1.08
E2E_Evaluator_yamllint 12940.156661458648 ns/iter 11641.076676019968 ns/iter 1.11
Micro_Draft4_Meta_1_No_Callback 230.460787873572 ns/iter 193.64022475433822 ns/iter 1.19
Micro_Draft4_Required_Properties 902.322404709843 ns/iter 812.9706093611917 ns/iter 1.11
Micro_Draft4_Many_Optional_Properties_Minimal_Match 26.36309835602203 ns/iter 24.869726573252677 ns/iter 1.06
Micro_Draft4_Few_Optional_Properties_Minimal_Match 16.19648688684752 ns/iter 13.697510863923242 ns/iter 1.18
Micro_Draft4_Items_Schema 389.9586698028493 ns/iter 299.17363440355206 ns/iter 1.30
Micro_Draft4_Nested_Object 4.046731363101283 ns/iter 3.7351338881520535 ns/iter 1.08
Micro_Draft4_Properties_Triad_Optional 361.18973885657243 ns/iter 346.49210674557526 ns/iter 1.04
Micro_Draft4_Properties_Triad_Closed 299.35509953863476 ns/iter 285.0506028222525 ns/iter 1.05
Micro_Draft4_Properties_Triad_Required 397.383783907096 ns/iter 363.58905521222607 ns/iter 1.09
Micro_Draft4_Properties_Closed 65.53352228461891 ns/iter 61.7936242777988 ns/iter 1.06
Micro_Draft4_Non_Recursive_Ref 17.122676288300138 ns/iter 13.94255785252427 ns/iter 1.23
Micro_Draft4_Pattern_Properties_True 245.1068042941474 ns/iter 214.25111351422413 ns/iter 1.14
Micro_Draft4_Ref_To_Single_Property 16.198217235591976 ns/iter 13.690327438936182 ns/iter 1.18
Micro_Draft4_Additional_Properties_Type 31.45958554277144 ns/iter 24.20487860377026 ns/iter 1.30
Micro_Draft4_Nested_Oneof 66.97360421583552 ns/iter 59.17577745276842 ns/iter 1.13
Micro_Draft4_Short_Enum 13.700070272594225 ns/iter 13.25376552704038 ns/iter 1.03
Micro_Draft4_Long_Enum 16.823272031149607 ns/iter 16.514624816415395 ns/iter 1.02
Micro_Draft4_Long_Enum_Short_Strings 13.725781151796587 ns/iter 13.074998420661911 ns/iter 1.05
Micro_Draft4_Type_Object 7.163970832752694 ns/iter 5.913071598685893 ns/iter 1.21
Micro_Draft4_Ref_Single_100 2352079.8662206973 ns/iter 2343090.2541805003 ns/iter 1.00
Micro_Draft4_Compile_Ref_Many_Nested 1690277.1277108765 ns/iter 1707346.273170659 ns/iter 0.99
Micro_Draft4_Compile_Wrap 2301585.5704916697 ns/iter 2324306.0562911686 ns/iter 0.99
Micro_Draft6_Property_Names 160.2962132234304 ns/iter 113.10338898617697 ns/iter 1.42
Micro_Draft6_Compile_FHIR 19156175916.000053 ns/iter 14311612828.999954 ns/iter 1.34
Micro_Draft7_If_Then_Else 31.14489270569855 ns/iter 26.1473748222751 ns/iter 1.19
Micro_2019_09_Unevaluated_Properties 42.37825808934598 ns/iter 36.48036357274797 ns/iter 1.16
Micro_2019_09_Compile_Wrap 321396047.9999969 ns/iter 284074507.50000864 ns/iter 1.13
Micro_2019_09_KrakenD_Linter_Check 1240238269.9999635 ns/iter 1171759802.9999862 ns/iter 1.06
Micro_2019_09_KrakenD_Linter_Apply 11335850578.999952 ns/iter 10435491884.000044 ns/iter 1.09
Micro_2020_12_Dynamic_Ref 307.5000783344982 ns/iter 228.9604858800897 ns/iter 1.34
Micro_2020_12_Dynamic_Ref_Single 7.158290566800076 ns/iter 5.915088044112143 ns/iter 1.21
Micro_2020_12_Simple_Output_Mask 140928.93270178858 ns/iter 139412.3042084306 ns/iter 1.01
Micro_2020_12_Simple_Output_Annotations 167311.378115363 ns/iter 165649.30620985266 ns/iter 1.01
Micro_2020_12_Compile_NonCircular_Shared_Refs 1034450.4963180798 ns/iter 1027321.8600884116 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)

Details
Benchmark suite Current: 82aa6e8 Previous: 6ea546a Ratio
E2E_Compiler_adaptivecard 71849275.00001094 ns/iter 75861244.87500001 ns/iter 0.95
E2E_Compiler_ansible_meta 30573597.208331194 ns/iter 29101600.36363798 ns/iter 1.05
E2E_Compiler_aws_cdk 311445.30988423503 ns/iter 316693.22051281296 ns/iter 0.98
E2E_Compiler_babelrc 2826779.7413793136 ns/iter 3008402.1879431135 ns/iter 0.94
E2E_Compiler_clang_format 17762191.048782036 ns/iter 21768899.9999999 ns/iter 0.82
E2E_Compiler_cmake_presets 43473392.85714368 ns/iter 35260456.583330326 ns/iter 1.23
E2E_Compiler_code_climate 2907116.0574714625 ns/iter 2795618.772241876 ns/iter 1.04
E2E_Compiler_cql2 15995464.416666513 ns/iter 16847860.294116765 ns/iter 0.95
E2E_Compiler_cspell 26317303.04545437 ns/iter 28543408.925926358 ns/iter 0.92
E2E_Compiler_cypress 5202385.830000367 ns/iter 5377786.249999872 ns/iter 0.97
E2E_Compiler_deno 8755822.580646034 ns/iter 8544666.673683902 ns/iter 1.02
E2E_Compiler_dependabot 4359244.285714599 ns/iter 5027548.898203736 ns/iter 0.87
E2E_Compiler_draft_04 2187772.5266106836 ns/iter 2955894.7115385938 ns/iter 0.74
E2E_Compiler_fabric_mod 4177829.234972854 ns/iter 4852050.15923581 ns/iter 0.86
E2E_Compiler_geojson 25432123.53571432 ns/iter 30078597.73076951 ns/iter 0.85
E2E_Compiler_gitpod_configuration 4971026.761588882 ns/iter 5742476.249999981 ns/iter 0.87
E2E_Compiler_helm_chart_lock 598254.6299283408 ns/iter 691068.1166347489 ns/iter 0.87
E2E_Compiler_importmap 233828.202475418 ns/iter 259038.76192421283 ns/iter 0.90
E2E_Compiler_jasmine 1337015.9256198371 ns/iter 1454422.4094650738 ns/iter 0.92
E2E_Compiler_jshintrc 3956622.7709923526 ns/iter 4475636.607142925 ns/iter 0.88
E2E_Compiler_jsconfig 25537860.65625019 ns/iter 27356133.928569596 ns/iter 0.93
E2E_Compiler_krakend 177449374.9999806 ns/iter 156997687.4999952 ns/iter 1.13
E2E_Compiler_lazygit 40709649.105260246 ns/iter 42139362.764708176 ns/iter 0.97
E2E_Compiler_lerna 1460259.5136988566 ns/iter 1778281.8341122195 ns/iter 0.82
E2E_Compiler_nest_cli 6762923.192771114 ns/iter 7757055.434782833 ns/iter 0.87
E2E_Compiler_omc 218797653.0000242 ns/iter 211260222.0000023 ns/iter 1.04
E2E_Compiler_omnisharp 6575717.548672055 ns/iter 6957292.635659599 ns/iter 0.95
E2E_Compiler_openapi 24040427.09375176 ns/iter 28289504.000001997 ns/iter 0.85
E2E_Compiler_pre_commit_hooks 5594173.749999527 ns/iter 5137672.475410029 ns/iter 1.09
E2E_Compiler_pulumi 3711574.817680104 ns/iter 3567047.0414749538 ns/iter 1.04
E2E_Compiler_semantic_release 1369979.6660000628 ns/iter 1371351.5372167504 ns/iter 1.00
E2E_Compiler_stale 1292451.1381693885 ns/iter 1684770.0949719888 ns/iter 0.77
E2E_Compiler_stylecop 5727054.263565849 ns/iter 7280520.830507974 ns/iter 0.79
E2E_Compiler_tmuxinator 2183832.8252032422 ns/iter 1714099.0224440051 ns/iter 1.27
E2E_Compiler_ui5 72847808.40000167 ns/iter 78280875.0000072 ns/iter 0.93
E2E_Compiler_ui5_manifest 392328541.4999782 ns/iter 479845146.0000024 ns/iter 0.82
E2E_Compiler_unreal_engine_uproject 4114089.988166253 ns/iter 5029686.15322633 ns/iter 0.82
E2E_Compiler_vercel 16392761.450982321 ns/iter 18438315.32432518 ns/iter 0.89
E2E_Compiler_yamllint 269407.8068043547 ns/iter 326284.8922559044 ns/iter 0.83
E2E_Evaluator_adaptivecard 29248.155973875833 ns/iter 22595.580512369263 ns/iter 1.29
E2E_Evaluator_ansible_meta 233616.44413751183 ns/iter 199641.54248733626 ns/iter 1.17
E2E_Evaluator_aws_cdk 50484.05404893704 ns/iter 44197.975614029994 ns/iter 1.14
E2E_Evaluator_babelrc 130779.91769713545 ns/iter 109584.5383275376 ns/iter 1.19
E2E_Evaluator_cerebrum_criminal_case 1624945.8648648527 ns/iter 872188.8333333227 ns/iter 1.86
E2E_Evaluator_clang_format 120297.42679370465 ns/iter 98799.4506291066 ns/iter 1.22
E2E_Evaluator_cmake_presets 4512404.431250161 ns/iter 5454612.089999955 ns/iter 0.83
E2E_Evaluator_code_climate 181646.9831677608 ns/iter 165957.27632296135 ns/iter 1.09
E2E_Evaluator_cql2 223933.97830965984 ns/iter 165946.66754131 ns/iter 1.35
E2E_Evaluator_cspell 530959.0587382212 ns/iter 717115.5409999983 ns/iter 0.74
E2E_Evaluator_cypress 194224.84162651154 ns/iter 180174.86409548458 ns/iter 1.08
E2E_Evaluator_deno 304560.27644229034 ns/iter 304164.8662551667 ns/iter 1.00
E2E_Evaluator_dependabot 547477.0818858441 ns/iter 371133.2090558734 ns/iter 1.48
E2E_Evaluator_draft_04 8408419.247422392 ns/iter 5907620.616540898 ns/iter 1.42
E2E_Evaluator_fabric_mod 861826.0630498587 ns/iter 532654.9159999558 ns/iter 1.62
E2E_Evaluator_geojson 13707227.347827423 ns/iter 12217938.59649392 ns/iter 1.12
E2E_Evaluator_gitpod_configuration 232125.98964677405 ns/iter 180638.87610349926 ns/iter 1.29
E2E_Evaluator_helm_chart_lock 320631.0424354084 ns/iter 247826.2312120871 ns/iter 1.29
E2E_Evaluator_importmap 39977.23359418075 ns/iter 37858.679566653314 ns/iter 1.06
E2E_Evaluator_jasmine 100597.37752928938 ns/iter 91672.98660543989 ns/iter 1.10
E2E_Evaluator_jshintrc 964430.3250688383 ns/iter 1001598.0528511712 ns/iter 0.96
E2E_Evaluator_jsconfig 365273.1195652535 ns/iter 378224.00653229305 ns/iter 0.97
E2E_Evaluator_krakend 172895.16896808756 ns/iter 201161.9559932183 ns/iter 0.86
E2E_Evaluator_lazygit 141307.99421389736 ns/iter 151316.92256344078 ns/iter 0.93
E2E_Evaluator_lerna 173001.45715606492 ns/iter 154604.56300618686 ns/iter 1.12
E2E_Evaluator_nest_cli 168629.9907149178 ns/iter 176447.31139345196 ns/iter 0.96
E2E_Evaluator_omc 17571.472011345613 ns/iter 18877.389904175834 ns/iter 0.93
E2E_Evaluator_omnisharp 514612.7499999693 ns/iter 519407.30443033593 ns/iter 0.99
E2E_Evaluator_openapi 8825319.631578049 ns/iter 9775602.232556868 ns/iter 0.90
E2E_Evaluator_pre_commit_hooks 388763.022024176 ns/iter 456120.3278315792 ns/iter 0.85
E2E_Evaluator_pulumi 692885.708402089 ns/iter 638991.0309667563 ns/iter 1.08
E2E_Evaluator_semantic_release 97562.07747446888 ns/iter 93769.25739152184 ns/iter 1.04
E2E_Evaluator_stale 127763.9534883472 ns/iter 160570.62573098444 ns/iter 0.80
E2E_Evaluator_stylecop 243604.1254125157 ns/iter 236962.36774611843 ns/iter 1.03
E2E_Evaluator_tmuxinator 105036.00948817577 ns/iter 81861.13587280728 ns/iter 1.28
E2E_Evaluator_ui5 589496.116742022 ns/iter 410788.9632299533 ns/iter 1.44
E2E_Evaluator_ui5_manifest 2145404.467681236 ns/iter 2125434.598100657 ns/iter 1.01
E2E_Evaluator_unreal_engine_uproject 403082.60105458274 ns/iter 352039.83303086594 ns/iter 1.14
E2E_Evaluator_vercel 295877.9615210602 ns/iter 256812.42528733113 ns/iter 1.15
E2E_Evaluator_yamllint 12933.867849892524 ns/iter 9861.207748355759 ns/iter 1.31
Micro_Draft4_Meta_1_No_Callback 210.41168762185382 ns/iter 145.47955695386048 ns/iter 1.45
Micro_Draft4_Required_Properties 796.1059197284511 ns/iter 653.4709853336391 ns/iter 1.22
Micro_Draft4_Many_Optional_Properties_Minimal_Match 23.408698298308156 ns/iter 21.655382869120444 ns/iter 1.08
Micro_Draft4_Few_Optional_Properties_Minimal_Match 12.235005360119002 ns/iter 9.87502932302561 ns/iter 1.24
Micro_Draft4_Items_Schema 356.67311840169333 ns/iter 284.1289045249672 ns/iter 1.26
Micro_Draft4_Nested_Object 3.0365742183077002 ns/iter 3.262399083759494 ns/iter 0.93
Micro_Draft4_Properties_Triad_Optional 218.10412800595964 ns/iter 252.17058310288706 ns/iter 0.86
Micro_Draft4_Properties_Triad_Closed 181.4276292513075 ns/iter 181.75764301651577 ns/iter 1.00
Micro_Draft4_Properties_Triad_Required 253.31795523416002 ns/iter 256.4038864173531 ns/iter 0.99
Micro_Draft4_Properties_Closed 47.139133859805455 ns/iter 53.36361659999511 ns/iter 0.88
Micro_Draft4_Non_Recursive_Ref 13.45647777478717 ns/iter 15.48555430943708 ns/iter 0.87
Micro_Draft4_Pattern_Properties_True 180.21864572483202 ns/iter 192.67783011151496 ns/iter 0.94
Micro_Draft4_Ref_To_Single_Property 11.123085087363883 ns/iter 11.849102265687408 ns/iter 0.94
Micro_Draft4_Additional_Properties_Type 28.03448614202258 ns/iter 38.82457907371637 ns/iter 0.72
Micro_Draft4_Nested_Oneof 55.49713788401554 ns/iter 62.10908585610015 ns/iter 0.89
Micro_Draft4_Short_Enum 8.195627466694717 ns/iter 8.64245044144062 ns/iter 0.95
Micro_Draft4_Long_Enum 12.796361108833306 ns/iter 14.048964965457682 ns/iter 0.91
Micro_Draft4_Long_Enum_Short_Strings 9.157208458155527 ns/iter 10.231952867264662 ns/iter 0.89
Micro_Draft4_Type_Object 6.014332526387473 ns/iter 4.880615017813457 ns/iter 1.23
Micro_Draft4_Ref_Single_100 1893064.0342103431 ns/iter 1666787.510948735 ns/iter 1.14
Micro_Draft4_Compile_Ref_Many_Nested 1419472.1194852258 ns/iter 1291856.343205751 ns/iter 1.10
Micro_Draft4_Compile_Wrap 2827831.2558134673 ns/iter 2166705.285714008 ns/iter 1.31
Micro_Draft6_Property_Names 151.1703424270722 ns/iter 106.35202188656069 ns/iter 1.42
Micro_Draft6_Compile_FHIR 10763404209.000101 ns/iter 13042354292.000027 ns/iter 0.83
Micro_Draft7_If_Then_Else 25.444806539769633 ns/iter 22.4966453754662 ns/iter 1.13
Micro_2019_09_Unevaluated_Properties 37.30322277054037 ns/iter 30.804133632722692 ns/iter 1.21
Micro_2019_09_Compile_Wrap 387465062.5000413 ns/iter 332601312.4999463 ns/iter 1.16
Micro_2019_09_KrakenD_Linter_Check 817608584.000027 ns/iter 843660250.0000845 ns/iter 0.97
Micro_2019_09_KrakenD_Linter_Apply 7689378625.000017 ns/iter 7709233541.999992 ns/iter 1.00
Micro_2020_12_Dynamic_Ref 258.89705466695375 ns/iter 226.23729190920093 ns/iter 1.14
Micro_2020_12_Dynamic_Ref_Single 6.8705932278266975 ns/iter 5.111848139062531 ns/iter 1.34
Micro_2020_12_Simple_Output_Mask 165265.10702170423 ns/iter 137078.9441351889 ns/iter 1.21
Micro_2020_12_Simple_Output_Annotations 187360.86521429085 ns/iter 149847.66080959377 ns/iter 1.25
Micro_2020_12_Compile_NonCircular_Shared_Refs 1073338.6030443532 ns/iter 800978.613082187 ns/iter 1.34

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)

Details
Benchmark suite Current: 82aa6e8 Previous: 6ea546a Ratio
Micro_2020_12_Dynamic_Ref 287.3384846830433 ns/iter 292.5378375328763 ns/iter 0.98
Micro_2020_12_Dynamic_Ref_Single 6.41633133819694 ns/iter 6.693120818846169 ns/iter 0.96
Micro_2020_12_Simple_Output_Mask 139977.31026874392 ns/iter 140494.19099780996 ns/iter 1.00
Micro_2020_12_Simple_Output_Annotations 175326.90890842618 ns/iter 165027.99811543222 ns/iter 1.06
Micro_2020_12_Compile_NonCircular_Shared_Refs 1139523.0700328413 ns/iter 1135726.8446601937 ns/iter 1.00
Micro_2019_09_Unevaluated_Properties 37.12522814533347 ns/iter 31.70404841962905 ns/iter 1.17
Micro_2019_09_Compile_Wrap 322102826.4999859 ns/iter 312793594.00002706 ns/iter 1.03
Micro_2019_09_KrakenD_Linter_Check 1276167473.9999762 ns/iter 1380087923.000019 ns/iter 0.92
Micro_2019_09_KrakenD_Linter_Apply 11427083542.99998 ns/iter 12335928850.000072 ns/iter 0.93
Micro_Draft7_If_Then_Else 28.116662462510376 ns/iter 28.649827004224086 ns/iter 0.98
Micro_Draft6_Property_Names 144.15526930579557 ns/iter 152.68864619571292 ns/iter 0.94
Micro_Draft6_Compile_FHIR 15004028548.99994 ns/iter 16463204837.99991 ns/iter 0.91
Micro_Draft4_Meta_1_No_Callback 193.3046481938935 ns/iter 176.13099924625837 ns/iter 1.10
Micro_Draft4_Required_Properties 863.670668378675 ns/iter 809.9763477736414 ns/iter 1.07
Micro_Draft4_Many_Optional_Properties_Minimal_Match 23.480744706405268 ns/iter 25.461506072010938 ns/iter 0.92
Micro_Draft4_Few_Optional_Properties_Minimal_Match 15.072241268282054 ns/iter 15.170187630138644 ns/iter 0.99
Micro_Draft4_Items_Schema 335.29434509699223 ns/iter 329.0802924495177 ns/iter 1.02
Micro_Draft4_Nested_Object 4.357081199558525 ns/iter 4.574413374429818 ns/iter 0.95
Micro_Draft4_Properties_Triad_Optional 395.1576522954679 ns/iter 493.20258442998824 ns/iter 0.80
Micro_Draft4_Properties_Triad_Closed 324.2416987703681 ns/iter 400.9165062239911 ns/iter 0.81
Micro_Draft4_Properties_Triad_Required 433.93773049190304 ns/iter 566.5581607993026 ns/iter 0.77
Micro_Draft4_Properties_Closed 64.75629678008714 ns/iter 70.37627365451847 ns/iter 0.92
Micro_Draft4_Non_Recursive_Ref 11.641766757911528 ns/iter 12.18532808848566 ns/iter 0.96
Micro_Draft4_Pattern_Properties_True 234.7004932202195 ns/iter 202.8814199299477 ns/iter 1.16
Micro_Draft4_Ref_To_Single_Property 15.173013965534798 ns/iter 15.180391747768603 ns/iter 1.00
Micro_Draft4_Additional_Properties_Type 16.346439026778093 ns/iter 18.562706540122406 ns/iter 0.88
Micro_Draft4_Nested_Oneof 58.09647182295244 ns/iter 69.6719862842732 ns/iter 0.83
Micro_Draft4_Short_Enum 14.02204926989908 ns/iter 16.2650289280861 ns/iter 0.86
Micro_Draft4_Long_Enum 16.64969392429189 ns/iter 15.954923168923582 ns/iter 1.04
Micro_Draft4_Long_Enum_Short_Strings 14.028944735452074 ns/iter 16.28729980611121 ns/iter 0.86
Micro_Draft4_Type_Object 6.384180980949033 ns/iter 6.826509921297793 ns/iter 0.94
Micro_Draft4_Ref_Single_100 2458689.638597047 ns/iter 2494517.612676742 ns/iter 0.99
Micro_Draft4_Compile_Ref_Many_Nested 1789209.141025612 ns/iter 1822700.059895747 ns/iter 0.98
Micro_Draft4_Compile_Wrap 2502342.3357140473 ns/iter 2548680.682480983 ns/iter 0.98
E2E_Compiler_adaptivecard 66899587.800003245 ns/iter 65812524.89997951 ns/iter 1.02
E2E_Compiler_ansible_meta 28582680.28000566 ns/iter 29557411.875003934 ns/iter 0.97
E2E_Compiler_aws_cdk 393515.877379593 ns/iter 379407.9575856458 ns/iter 1.04
E2E_Compiler_babelrc 2658663.882575259 ns/iter 2716980.864340977 ns/iter 0.98
E2E_Compiler_clang_format 18795796.08107879 ns/iter 19149204.81080903 ns/iter 0.98
E2E_Compiler_cmake_presets 26792940.384614035 ns/iter 27647147.520001456 ns/iter 0.97
E2E_Compiler_code_climate 2656724.965909303 ns/iter 2713608.0542628095 ns/iter 0.98
E2E_Compiler_cql2 13918011.099999605 ns/iter 14156679.399998212 ns/iter 0.98
E2E_Compiler_cspell 23491153.433330204 ns/iter 24316692.931036193 ns/iter 0.97
E2E_Compiler_cypress 4049175.1395358923 ns/iter 4197904.896970309 ns/iter 0.96
E2E_Compiler_deno 7767238.322223118 ns/iter 8045410.440475041 ns/iter 0.97
E2E_Compiler_dependabot 3969273.818181694 ns/iter 4070260.9069774365 ns/iter 0.98
E2E_Compiler_draft_04 2807750.791164956 ns/iter 2852658.024489663 ns/iter 0.98
E2E_Compiler_fabric_mod 4928394.613138365 ns/iter 5037017.38848871 ns/iter 0.98
E2E_Compiler_geojson 23082395.93332928 ns/iter 24028572.55171888 ns/iter 0.96
E2E_Compiler_gitpod_configuration 5070562.22302139 ns/iter 5264132.889705894 ns/iter 0.96
E2E_Compiler_helm_chart_lock 708595.6207951336 ns/iter 685147.693437781 ns/iter 1.03
E2E_Compiler_importmap 295315.8806914724 ns/iter 282904.847580587 ns/iter 1.04
E2E_Compiler_jasmine 1386129.263366258 ns/iter 1418363.4096382202 ns/iter 0.98
E2E_Compiler_jshintrc 4512858.735483127 ns/iter 4599389.222222848 ns/iter 0.98
E2E_Compiler_jsconfig 22136305.12500231 ns/iter 22795890.22580166 ns/iter 0.97
E2E_Compiler_krakend 147553076.79997712 ns/iter 143268009.80002192 ns/iter 1.03
E2E_Compiler_lazygit 34467615.949995436 ns/iter 35480479.79999183 ns/iter 0.97
E2E_Compiler_lerna 1646216.0492953355 ns/iter 1663765.121428523 ns/iter 0.99
E2E_Compiler_nest_cli 7649671.663043394 ns/iter 7780875.033333561 ns/iter 0.98
E2E_Compiler_omc 169869653.24997526 ns/iter 172760751.2499958 ns/iter 0.98
E2E_Compiler_omnisharp 6815269.844661018 ns/iter 6951267.659999303 ns/iter 0.98
E2E_Compiler_openapi 26106050.44445172 ns/iter 26429121.333329156 ns/iter 0.99
E2E_Compiler_pre_commit_hooks 5455964.492186993 ns/iter 5561292.387096361 ns/iter 0.98
E2E_Compiler_pulumi 4173678.5059518814 ns/iter 4377972.493901369 ns/iter 0.95
E2E_Compiler_semantic_release 1611205.4815665886 ns/iter 1632829.4498832095 ns/iter 0.99
E2E_Compiler_stale 1576195.0316027242 ns/iter 1602590.7894738787 ns/iter 0.98
E2E_Compiler_stylecop 5855175.166666034 ns/iter 6011003.568965893 ns/iter 0.97
E2E_Compiler_tmuxinator 2004615.0659025307 ns/iter 2017863.8818445948 ns/iter 0.99
E2E_Compiler_ui5 49343915.71428673 ns/iter 52265654.15383588 ns/iter 0.94
E2E_Compiler_ui5_manifest 340246875.00004804 ns/iter 336265240.49998355 ns/iter 1.01
E2E_Compiler_unreal_engine_uproject 4660932.866666675 ns/iter 4772407.1836730875 ns/iter 0.98
E2E_Compiler_vercel 12948486.703702724 ns/iter 13390827.903846841 ns/iter 0.97
E2E_Compiler_yamllint 360461.6398763547 ns/iter 350110.7375000174 ns/iter 1.03
E2E_Evaluator_adaptivecard 26190.34763318906 ns/iter 25983.70459650074 ns/iter 1.01
E2E_Evaluator_ansible_meta 275872.5687819866 ns/iter 247373.4173394173 ns/iter 1.12
E2E_Evaluator_aws_cdk 58131.48072840206 ns/iter 43261.14916789704 ns/iter 1.34
E2E_Evaluator_babelrc 117201.68669237291 ns/iter 88138.98745295864 ns/iter 1.33
E2E_Evaluator_cerebrum_criminal_case 1372598.3536345905 ns/iter 1483217.4745420448 ns/iter 0.93
E2E_Evaluator_clang_format 112711.28497412226 ns/iter 98840.83340454457 ns/iter 1.14
E2E_Evaluator_cmake_presets 5445526.620155584 ns/iter 4752535.909091428 ns/iter 1.15
E2E_Evaluator_code_climate 212766.95323075936 ns/iter 166553.20302013398 ns/iter 1.28
E2E_Evaluator_cql2 227733.07457944285 ns/iter 212738.59401711414 ns/iter 1.07
E2E_Evaluator_cspell 573295.418226225 ns/iter 515484.35557247273 ns/iter 1.11
E2E_Evaluator_cypress 185167.05605736794 ns/iter 140539.23219998978 ns/iter 1.32
E2E_Evaluator_deno 341695.3152881568 ns/iter 278039.77008744027 ns/iter 1.23
E2E_Evaluator_dependabot 484873.6471815647 ns/iter 433445.83822608297 ns/iter 1.12
E2E_Evaluator_draft_04 7197825.698924174 ns/iter 7202516.912087418 ns/iter 1.00
E2E_Evaluator_fabric_mod 799318.7705285725 ns/iter 724294.1761602841 ns/iter 1.10
E2E_Evaluator_geojson 18439388.973685086 ns/iter 17661771.641023267 ns/iter 1.04
E2E_Evaluator_gitpod_configuration 260852.4554152543 ns/iter 227951.98628799518 ns/iter 1.14
E2E_Evaluator_helm_chart_lock 348821.02724119485 ns/iter 227644.9957390841 ns/iter 1.53
E2E_Evaluator_importmap 54673.364402995154 ns/iter 43207.60461195734 ns/iter 1.27
E2E_Evaluator_jasmine 126539.24388938356 ns/iter 103341.37514829214 ns/iter 1.22
E2E_Evaluator_jshintrc 1074343.5061536168 ns/iter 1001687.3907379928 ns/iter 1.07
E2E_Evaluator_jsconfig 430929.2714904431 ns/iter 377931.4943760516 ns/iter 1.14
E2E_Evaluator_krakend 227755.69131415337 ns/iter 190447.4663461754 ns/iter 1.20
E2E_Evaluator_lazygit 151429.50985485714 ns/iter 128723.40865564164 ns/iter 1.18
E2E_Evaluator_lerna 164996.59585007772 ns/iter 117585.31360348634 ns/iter 1.40
E2E_Evaluator_nest_cli 202358.54678951073 ns/iter 184733.51410494858 ns/iter 1.10
E2E_Evaluator_omc 21671.330637969993 ns/iter 20008.421288499583 ns/iter 1.08
E2E_Evaluator_omnisharp 592832.7423730171 ns/iter 537162.3545383627 ns/iter 1.10
E2E_Evaluator_openapi 13454573.619997062 ns/iter 12553753.309091255 ns/iter 1.07
E2E_Evaluator_pre_commit_hooks 523173.76518506836 ns/iter 466743.09806531225 ns/iter 1.12
E2E_Evaluator_pulumi 760142.4420132147 ns/iter 749843.3319373296 ns/iter 1.01
E2E_Evaluator_semantic_release 107699.82372522412 ns/iter 88578.76420705668 ns/iter 1.22
E2E_Evaluator_stale 167310.5421314934 ns/iter 149521.24735821295 ns/iter 1.12
E2E_Evaluator_stylecop 320198.3435527893 ns/iter 292321.22594140074 ns/iter 1.10
E2E_Evaluator_tmuxinator 102764.1541276498 ns/iter 88012.28975709154 ns/iter 1.17
E2E_Evaluator_ui5 588950.1126050943 ns/iter 516057.4606241744 ns/iter 1.14
E2E_Evaluator_ui5_manifest 3108995.766234089 ns/iter 2679779.9696973446 ns/iter 1.16
E2E_Evaluator_unreal_engine_uproject 471554.27834346256 ns/iter 430693.2495343324 ns/iter 1.09
E2E_Evaluator_vercel 329449.6635426236 ns/iter 267469.15050041414 ns/iter 1.23
E2E_Evaluator_yamllint 11831.26954182182 ns/iter 11547.9997706871 ns/iter 1.02

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

@jviotti jviotti closed this Mar 6, 2026
@jviotti jviotti reopened this Mar 6, 2026
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti closed this Mar 6, 2026
@jviotti jviotti deleted the dispatch-switch branch March 6, 2026 14:40
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