Skip to content

Simplify nested logical operators in linter and canonicalizer#736

Merged
jviotti merged 6 commits intomainfrom
logical-fixes
Apr 20, 2026
Merged

Simplify nested logical operators in linter and canonicalizer#736
jviotti merged 6 commits intomainfrom
logical-fixes

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented Apr 17, 2026

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

Copy link
Copy Markdown

@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: 42eaf87 Previous: 1f5971b Ratio
E2E_Compiler_adaptivecard 68404250.5000022 ns/iter 66909292.125004075 ns/iter 1.02
E2E_Compiler_ansible_meta 25776968.9629636 ns/iter 30255696.043478448 ns/iter 0.85
E2E_Compiler_aws_cdk 331709.541053646 ns/iter 383484.3023127336 ns/iter 0.86
E2E_Compiler_babelrc 2250610.3451612783 ns/iter 2596421.19702603 ns/iter 0.87
E2E_Compiler_clang_format 15991529.302325066 ns/iter 18631599.131580107 ns/iter 0.86
E2E_Compiler_cmake_presets 23702106.233334538 ns/iter 26506784.2962952 ns/iter 0.89
E2E_Compiler_code_climate 2315274.8907284 ns/iter 2660552.9511275357 ns/iter 0.87
E2E_Compiler_cql2 11997662.586206412 ns/iter 13239636.056604862 ns/iter 0.91
E2E_Compiler_cspell 20806902.212121148 ns/iter 23514518.83333387 ns/iter 0.88
E2E_Compiler_cypress 3500958.584999978 ns/iter 3982684.8920454113 ns/iter 0.88
E2E_Compiler_deno 6712503.028571367 ns/iter 7917727.910113131 ns/iter 0.85
E2E_Compiler_dependabot 3462573.3990146345 ns/iter 3984058.14204559 ns/iter 0.87
E2E_Compiler_draft_04 2397030.0068493257 ns/iter 2733773.7519379803 ns/iter 0.88
E2E_Compiler_fabric_mod 4239494.578313037 ns/iter 4885372.916666439 ns/iter 0.87
E2E_Compiler_geojson 20536466.228570916 ns/iter 23646753.551721808 ns/iter 0.87
E2E_Compiler_gitpod_configuration 4321711.968944071 ns/iter 5021601.244604701 ns/iter 0.86
E2E_Compiler_helm_chart_lock 611124.8709677384 ns/iter 720180.1558973715 ns/iter 0.85
E2E_Compiler_importmap 251499.9634408589 ns/iter 291014.30951395223 ns/iter 0.86
E2E_Compiler_jasmine 1210750.1848013718 ns/iter 1376524.1932938516 ns/iter 0.88
E2E_Compiler_jshintrc 3752486.7473120685 ns/iter 4405346.943396335 ns/iter 0.85
E2E_Compiler_jsconfig 19454973.69444461 ns/iter 22215966.709675357 ns/iter 0.88
E2E_Compiler_krakend 136749462.59999388 ns/iter 150593183.5999945 ns/iter 0.91
E2E_Compiler_lazygit 31156663.772727393 ns/iter 34090373.714282885 ns/iter 0.91
E2E_Compiler_lerna 1420680.7611336114 ns/iter 1665642.2494173064 ns/iter 0.85
E2E_Compiler_nest_cli 6506321.009345743 ns/iter 7483334.376343254 ns/iter 0.87
E2E_Compiler_omc 161944822.5000042 ns/iter 158248894.99998564 ns/iter 1.02
E2E_Compiler_omnisharp 5847148.200000163 ns/iter 6837142.174758015 ns/iter 0.86
E2E_Compiler_openapi 22658571.58064657 ns/iter 25264475.857142087 ns/iter 0.90
E2E_Compiler_pre_commit_hooks 4671442.986755255 ns/iter 5437274.823076712 ns/iter 0.86
E2E_Compiler_pulumi 3593356.010256416 ns/iter 4093142.6783625716 ns/iter 0.88
E2E_Compiler_semantic_release 1404529.6498993346 ns/iter 1590048.5772727341 ns/iter 0.88
E2E_Compiler_stale 1364294.0253906222 ns/iter 1569107.6022472116 ns/iter 0.87
E2E_Compiler_stylecop 5226489.522388237 ns/iter 6358908.181818441 ns/iter 0.82
E2E_Compiler_tmuxinator 1707606.1658537039 ns/iter 1966893.7927171348 ns/iter 0.87
E2E_Compiler_ui5 47334580.333335906 ns/iter 51807152.85714704 ns/iter 0.91
E2E_Compiler_ui5_manifest 331375983.0000436 ns/iter 361969416.49996006 ns/iter 0.92
E2E_Compiler_unreal_engine_uproject 4029628.913294564 ns/iter 4668933.926666341 ns/iter 0.86
E2E_Compiler_users_array 717427.9329897498 ns/iter 805469.9976851351 ns/iter 0.89
E2E_Compiler_vercel 11445546.709678052 ns/iter 12979176.924528595 ns/iter 0.88
E2E_Compiler_yamllint 309643.9881548664 ns/iter 357275.78826530196 ns/iter 0.87
E2E_Evaluator_adaptivecard 21026.639335879725 ns/iter 24366.523962876938 ns/iter 0.86
E2E_Evaluator_ansible_meta 197041.06830367382 ns/iter 226077.27142859143 ns/iter 0.87
E2E_Evaluator_aws_cdk 42671.43393118374 ns/iter 50385.07670900338 ns/iter 0.85
E2E_Evaluator_babelrc 88829.32670237152 ns/iter 108869.2222560517 ns/iter 0.82
E2E_Evaluator_cerebrum_criminal_case 991842.3488373234 ns/iter 1031124.9502263317 ns/iter 0.96
E2E_Evaluator_clang_format 113782.63338228178 ns/iter 125677.21535806468 ns/iter 0.91
E2E_Evaluator_cmake_presets 5556933.70866151 ns/iter 5281536.631578537 ns/iter 1.05
E2E_Evaluator_code_climate 186069.47250995107 ns/iter 174475.1814104068 ns/iter 1.07
E2E_Evaluator_cql2 182516.51347107958 ns/iter 216456.91376086918 ns/iter 0.84
E2E_Evaluator_cspell 542435.0226208617 ns/iter 574721.6789431935 ns/iter 0.94
E2E_Evaluator_cypress 176467.45042142252 ns/iter 194067.30623303723 ns/iter 0.91
E2E_Evaluator_deno 316793.9766910461 ns/iter 312163.4307282756 ns/iter 1.01
E2E_Evaluator_dependabot 317271.1465635006 ns/iter 318996.90917265345 ns/iter 0.99
E2E_Evaluator_draft_04 9175117.405406483 ns/iter 8923674.662500503 ns/iter 1.03
E2E_Evaluator_fabric_mod 645707.9410112863 ns/iter 676077.2734611562 ns/iter 0.96
E2E_Evaluator_geojson 21229182.424242552 ns/iter 16447118.857142653 ns/iter 1.29
E2E_Evaluator_gitpod_configuration 229234.96526630907 ns/iter 232880.46136290222 ns/iter 0.98
E2E_Evaluator_helm_chart_lock 391790.15136342397 ns/iter 356376.0960480368 ns/iter 1.10
E2E_Evaluator_importmap 35102.67558545216 ns/iter 47737.535570563115 ns/iter 0.74
E2E_Evaluator_jasmine 95651.05581458806 ns/iter 106599.14801167038 ns/iter 0.90
E2E_Evaluator_jshintrc 1141946.3927988675 ns/iter 1200065.6038062721 ns/iter 0.95
E2E_Evaluator_jsconfig 380482.4879385499 ns/iter 418532.76899882656 ns/iter 0.91
E2E_Evaluator_krakend 172256.94183167943 ns/iter 200881.2110787061 ns/iter 0.86
E2E_Evaluator_lazygit 140461.93808855058 ns/iter 147329.3984554279 ns/iter 0.95
E2E_Evaluator_lerna 127471.13656070469 ns/iter 138555.46693386845 ns/iter 0.92
E2E_Evaluator_nest_cli 175230.19839678067 ns/iter 177548.1701691491 ns/iter 0.99
E2E_Evaluator_omc 15940.056100529608 ns/iter 17682.51310880286 ns/iter 0.90
E2E_Evaluator_omnisharp 554918.0031671107 ns/iter 615922.286995519 ns/iter 0.90
E2E_Evaluator_openapi 12802201.672725873 ns/iter 11901766.5689653 ns/iter 1.08
E2E_Evaluator_pre_commit_hooks 496115.5077030647 ns/iter 470532.26765304216 ns/iter 1.05
E2E_Evaluator_pulumi 711490.5959916754 ns/iter 679943.5112855938 ns/iter 1.05
E2E_Evaluator_semantic_release 78068.54584814182 ns/iter 95845.5207310462 ns/iter 0.81
E2E_Evaluator_stale 139414.5700482902 ns/iter 149300.5248256977 ns/iter 0.93
E2E_Evaluator_stylecop 297573.8031596478 ns/iter 287998.58794984757 ns/iter 1.03
E2E_Evaluator_tmuxinator 84037.67075074179 ns/iter 102554.06440147923 ns/iter 0.82
E2E_Evaluator_ui5 459882.74950428226 ns/iter 504073.6135544167 ns/iter 0.91
E2E_Evaluator_ui5_manifest 3184911.8846156877 ns/iter 3580815.49999993 ns/iter 0.89
E2E_Evaluator_unreal_engine_uproject 423118.9878714607 ns/iter 423782.12865847535 ns/iter 1.00
E2E_Evaluator_users_array 572066.7971970477 ns/iter 535881.9096477348 ns/iter 1.07
E2E_Evaluator_vercel 326585.727144847 ns/iter 320727.2184488286 ns/iter 1.02
E2E_Evaluator_yamllint 7369.279408627784 ns/iter 8768.053771480345 ns/iter 0.84
Micro_Draft4_Meta_1_No_Callback 190.84652397934897 ns/iter 197.22053053179454 ns/iter 0.97
Micro_Draft4_Required_Properties 812.6966399482606 ns/iter 804.9624382218807 ns/iter 1.01
Micro_Draft4_Many_Optional_Properties_Minimal_Match 21.54776888931178 ns/iter 20.864724989412668 ns/iter 1.03
Micro_Draft4_Few_Optional_Properties_Minimal_Match 9.912371510596728 ns/iter 10.91887211128017 ns/iter 0.91
Micro_Draft4_Items_Schema 285.53629740812283 ns/iter 303.7314010000107 ns/iter 0.94
Micro_Draft4_Nested_Object 1.153705199817503 ns/iter 1.818051185666078 ns/iter 0.63
Micro_Draft4_Properties_Triad_Optional 301.02294619280775 ns/iter 312.8504619333309 ns/iter 0.96
Micro_Draft4_Properties_Triad_Closed 249.2871415388758 ns/iter 259.1280530780121 ns/iter 0.96
Micro_Draft4_Properties_Triad_Required 313.572791995774 ns/iter 331.8991122732312 ns/iter 0.94
Micro_Draft4_Properties_Closed 53.98728831144516 ns/iter 55.04035915870375 ns/iter 0.98
Micro_Draft4_Non_Recursive_Ref 10.430661536710435 ns/iter 12.15708045816787 ns/iter 0.86
Micro_Draft4_Pattern_Properties_True 119.47717387750599 ns/iter 149.83367184119902 ns/iter 0.80
Micro_Draft4_Ref_To_Single_Property 9.923175775115839 ns/iter 10.89878729457524 ns/iter 0.91
Micro_Draft4_Additional_Properties_Type 19.039996460953134 ns/iter 22.23762517037323 ns/iter 0.86
Micro_Draft4_Nested_Oneof 47.150986017052674 ns/iter 58.042914702085994 ns/iter 0.81
Micro_Draft4_Short_Enum 10.420785614993818 ns/iter 11.838035235198994 ns/iter 0.88
Micro_Draft4_Long_Enum 10.586834846074332 ns/iter 13.89565643953314 ns/iter 0.76
Micro_Draft4_Long_Enum_Short_Strings 10.45020597905143 ns/iter 11.837487266292587 ns/iter 0.88
Micro_Draft4_Type_Object 2.8837548580058736 ns/iter 3.425562395690358 ns/iter 0.84
Micro_Draft4_Ref_Single_100 2108586.2818181617 ns/iter 2422390.1176469163 ns/iter 0.87
Micro_Draft4_Compile_Ref_Many_Nested 1536969.493421069 ns/iter 1745668.589552084 ns/iter 0.88
Micro_Draft4_Compile_Wrap 2105249.5843372503 ns/iter 2391517.395833394 ns/iter 0.88
Micro_Draft6_Property_Names 113.9800096226648 ns/iter 119.0046702539652 ns/iter 0.96
Micro_Draft6_Compile_FHIR 28159953334.00008 ns/iter 13857263758.99992 ns/iter 2.03
Micro_Draft7_If_Then_Else 20.224600878967436 ns/iter 23.36310594223625 ns/iter 0.87
Micro_2019_09_Unevaluated_Properties 25.830268631462097 ns/iter 29.002283394893734 ns/iter 0.89
Micro_2019_09_Compile_Wrap 353457130.50003266 ns/iter 315101678.5000138 ns/iter 1.12
Micro_2020_12_Dynamic_Ref 298.29730209617554 ns/iter 227.6807499128648 ns/iter 1.31
Micro_2020_12_Dynamic_Ref_Single 2.884743910732801 ns/iter 3.4375779265465107 ns/iter 0.84
Micro_2020_12_Simple_Output_Mask 919.4205187095939 ns/iter 1066.9062971439885 ns/iter 0.86
Micro_2020_12_Simple_Output_Annotations 98066.2695143979 ns/iter 100364.64471976974 ns/iter 0.98
Micro_2020_12_Compile_NonCircular_Shared_Refs 978926.813110275 ns/iter 1120411.0239616286 ns/iter 0.87
Micro_2020_12_Exhaustive_Deep_Numeric 8407.625436061924 ns/iter 8648.060534630733 ns/iter 0.97
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput 152489.95160935246 ns/iter 175111.95999006275 ns/iter 0.87
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput 20878.150386529738 ns/iter 22865.722342166333 ns/iter 0.91
Micro_2020_12_Exhaustive_Deep_Numeric_Fail 138.71650819937457 ns/iter 148.9573117826095 ns/iter 0.93
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput 3781.284127489117 ns/iter 4331.815043515007 ns/iter 0.87
Alterschema_Check_Readibility_ISO_Language_Set_3 383310939.5000065 ns/iter 387114833.49999297 ns/iter 0.99
Alterschema_Check_Readibility_OMC 110138687.16666289 ns/iter 93262339.99999544 ns/iter 1.18
Alterschema_Check_Readibility_KrakenD 1853517424.99995 ns/iter 1272247885.0000699 ns/iter 1.46
Alterschema_Apply_Readibility_KrakenD 156291305457.00003 ns/iter 122028370934.00002 ns/iter 1.28
Alterschema_Check_Invalid_External_Refs 246030368.66665208 ns/iter 305005927.9999573 ns/iter 0.81

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

Copy link
Copy Markdown

@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.

JavaScript (linux/llvm)

Details
Benchmark suite Current: 42eaf87 Previous: 1f5971b Ratio
E2E_Evaluator_adaptivecard 112996 ns 114741 ns 0.98
E2E_Evaluator_ansible-meta 573682 ns 504986 ns 1.14
E2E_Evaluator_aws-cdk 153064 ns 137801 ns 1.11
E2E_Evaluator_babelrc 530672 ns 311856 ns 1.70
E2E_Evaluator_cerebrum-criminal-case 2712010 ns 2427880 ns 1.12
E2E_Evaluator_clang-format 373280 ns 249007 ns 1.50
E2E_Evaluator_cmake-presets 20599394 ns 16005000 ns 1.29
E2E_Evaluator_code-climate 582146 ns 500597 ns 1.16
E2E_Evaluator_cql2 1150750 ns 1154366 ns 1.00
E2E_Evaluator_cspell 1947292 ns 1398444 ns 1.39
E2E_Evaluator_cypress 1155186 ns 751244 ns 1.54
E2E_Evaluator_deno 1126028 ns 997492 ns 1.13
E2E_Evaluator_dependabot 1163658 ns 1033198 ns 1.13
E2E_Evaluator_draft-04 23427240 ns 20621073 ns 1.14
E2E_Evaluator_fabric-mod 2511533 ns 2292678 ns 1.10
E2E_Evaluator_geojson 36287146 ns 25402450 ns 1.43
E2E_Evaluator_gitpod-configuration 899465 ns 697167 ns 1.29
E2E_Evaluator_helm-chart-lock 1101575 ns 984680 ns 1.12
E2E_Evaluator_importmap 335763 ns 274606 ns 1.22
E2E_Evaluator_jasmine 386151 ns 293391 ns 1.32
E2E_Evaluator_jsconfig 2011440 ns 1189406 ns 1.69
E2E_Evaluator_jshintrc 3379467 ns 2763831 ns 1.22
E2E_Evaluator_krakend 662851 ns 707577 ns 0.94
E2E_Evaluator_lazygit 536312 ns 500722 ns 1.07
E2E_Evaluator_lerna 498515 ns 452823 ns 1.10
E2E_Evaluator_nest-cli 822181 ns 562766 ns 1.46
E2E_Evaluator_omc 84015 ns 88030 ns 0.95
E2E_Evaluator_omnisharp 1669612 ns 1386150 ns 1.20
E2E_Evaluator_openapi 26019892 ns 23736157 ns 1.10
E2E_Evaluator_pre-commit-hooks 2174797 ns 1887274 ns 1.15
E2E_Evaluator_pulumi 2267578 ns 1789333 ns 1.27
E2E_Evaluator_semantic-release 353443 ns 258145 ns 1.37
E2E_Evaluator_stale 478901 ns 374725 ns 1.28
E2E_Evaluator_stylecop 1205362 ns 1121995 ns 1.07
E2E_Evaluator_tmuxinator 342590 ns 221786 ns 1.54
E2E_Evaluator_ui5 2007269 ns 2085683 ns 0.96
E2E_Evaluator_ui5-manifest 11336386 ns 10086600 ns 1.12
E2E_Evaluator_unreal-engine-uproject 1800830 ns 1433781 ns 1.26
E2E_Evaluator_users-array 2121710 ns 2261147 ns 0.94
E2E_Evaluator_vercel 1144321 ns 929162 ns 1.23
E2E_Evaluator_yamllint 31945 ns 27891 ns 1.15

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

Copy link
Copy Markdown

@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: 42eaf87 Previous: 1f5971b Ratio
E2E_Compiler_adaptivecard 56813272.72726445 ns/iter 66228187.50000192 ns/iter 0.86
E2E_Compiler_ansible_meta 24452969.53846292 ns/iter 24060315.692307856 ns/iter 1.02
E2E_Compiler_aws_cdk 261725.0565476814 ns/iter 272010.42490270024 ns/iter 0.96
E2E_Compiler_babelrc 2083038.1826625438 ns/iter 2097265.2439024565 ns/iter 0.99
E2E_Compiler_clang_format 14143457.499999385 ns/iter 14689722.510638602 ns/iter 0.96
E2E_Compiler_cmake_presets 26041811.703702547 ns/iter 25043459.821428575 ns/iter 1.04
E2E_Compiler_code_climate 2124490.4894891013 ns/iter 2204511.3502995837 ns/iter 0.96
E2E_Compiler_cql2 10777686.538463408 ns/iter 11915122.017853718 ns/iter 0.90
E2E_Compiler_cspell 18107982.897437327 ns/iter 19098058.54054596 ns/iter 0.95
E2E_Compiler_cypress 3331000.6097563906 ns/iter 3691293.299019818 ns/iter 0.90
E2E_Compiler_deno 6345316.149124476 ns/iter 7085600.765305702 ns/iter 0.90
E2E_Compiler_dependabot 3428879.3103455803 ns/iter 4006251.1304347976 ns/iter 0.86
E2E_Compiler_draft_04 1875495.4086023555 ns/iter 2212873.9130434757 ns/iter 0.85
E2E_Compiler_fabric_mod 3434105.9902917724 ns/iter 3650641.7083342527 ns/iter 0.94
E2E_Compiler_geojson 21159274.99999846 ns/iter 22030686.218748484 ns/iter 0.96
E2E_Compiler_gitpod_configuration 3824114.0802144404 ns/iter 4105044.9829550027 ns/iter 0.93
E2E_Compiler_helm_chart_lock 526354.7500001095 ns/iter 530707.6194553401 ns/iter 0.99
E2E_Compiler_importmap 204721.35233646902 ns/iter 223630.76086957587 ns/iter 0.92
E2E_Compiler_jasmine 975247.0760235135 ns/iter 1136374.6498314678 ns/iter 0.86
E2E_Compiler_jshintrc 3072388.4789917325 ns/iter 3247191.2863632664 ns/iter 0.95
E2E_Compiler_jsconfig 17478597.230767544 ns/iter 19002832.1176415 ns/iter 0.92
E2E_Compiler_krakend 129700013.9999985 ns/iter 146508691.60000184 ns/iter 0.89
E2E_Compiler_lazygit 29457413.043483824 ns/iter 31274004.149997838 ns/iter 0.94
E2E_Compiler_lerna 1235202.0426284494 ns/iter 1314293.9582544463 ns/iter 0.94
E2E_Compiler_nest_cli 5754100.000000108 ns/iter 6081447.000000433 ns/iter 0.95
E2E_Compiler_omc 159313791.74998027 ns/iter 158422458.25001556 ns/iter 1.01
E2E_Compiler_omnisharp 5489819.439393421 ns/iter 5756583.67768686 ns/iter 0.95
E2E_Compiler_openapi 19607076.171431407 ns/iter 20930900.242423046 ns/iter 0.94
E2E_Compiler_pre_commit_hooks 4110667.5888891513 ns/iter 4712585.541177064 ns/iter 0.87
E2E_Compiler_pulumi 3316060.9605908976 ns/iter 3311747.3084568963 ns/iter 1.00
E2E_Compiler_semantic_release 1202359.8881357382 ns/iter 1200379.2639136673 ns/iter 1.00
E2E_Compiler_stale 1232644.8435853727 ns/iter 1208142.4902997217 ns/iter 1.02
E2E_Compiler_stylecop 5292224.806201256 ns/iter 5383715.441860821 ns/iter 0.98
E2E_Compiler_tmuxinator 1418486.7672586176 ns/iter 1958601.6933042288 ns/iter 0.72
E2E_Compiler_ui5 46045097.26667251 ns/iter 73926395.79998103 ns/iter 0.62
E2E_Compiler_ui5_manifest 266293062.50003994 ns/iter 289980333.5000115 ns/iter 0.92
E2E_Compiler_unreal_engine_uproject 3453187.999999623 ns/iter 3611913.424869734 ns/iter 0.96
E2E_Compiler_users_array 723647.742857309 ns/iter 754375.1376651987 ns/iter 0.96
E2E_Compiler_vercel 11471661.11666896 ns/iter 11608790.96610419 ns/iter 0.99
E2E_Compiler_yamllint 260870.81307101145 ns/iter 248301.93881179387 ns/iter 1.05
E2E_Evaluator_adaptivecard 21734.704720242986 ns/iter 18300.67204300786 ns/iter 1.19
E2E_Evaluator_ansible_meta 159420.63627591083 ns/iter 160502.05882354075 ns/iter 0.99
E2E_Evaluator_aws_cdk 33170.90689957225 ns/iter 33109.94767839491 ns/iter 1.00
E2E_Evaluator_babelrc 79174.84398924325 ns/iter 77321.5914145979 ns/iter 1.02
E2E_Evaluator_cerebrum_criminal_case 625924.7887580155 ns/iter 609766.3395721675 ns/iter 1.03
E2E_Evaluator_clang_format 89293.51336201072 ns/iter 98896.74298270779 ns/iter 0.90
E2E_Evaluator_cmake_presets 3127060.8270040588 ns/iter 3414146.373913117 ns/iter 0.92
E2E_Evaluator_code_climate 142949.2789322805 ns/iter 136637.61111110766 ns/iter 1.05
E2E_Evaluator_cql2 133008.12082204642 ns/iter 180342.75646317375 ns/iter 0.74
E2E_Evaluator_cspell 366211.63569556933 ns/iter 369416.2165226003 ns/iter 0.99
E2E_Evaluator_cypress 129414.62117603613 ns/iter 136707.86762109355 ns/iter 0.95
E2E_Evaluator_deno 205667.57369812866 ns/iter 259927.27989401724 ns/iter 0.79
E2E_Evaluator_dependabot 223527.88642052878 ns/iter 271527.04306765285 ns/iter 0.82
E2E_Evaluator_draft_04 5331758.613333478 ns/iter 7099452.290322373 ns/iter 0.75
E2E_Evaluator_fabric_mod 435388.4085481801 ns/iter 473908.8852941824 ns/iter 0.92
E2E_Evaluator_geojson 10784841.540983314 ns/iter 11759363.20754652 ns/iter 0.92
E2E_Evaluator_gitpod_configuration 155445.07866200985 ns/iter 159999.22686789665 ns/iter 0.97
E2E_Evaluator_helm_chart_lock 212078.23797550244 ns/iter 227627.69332943164 ns/iter 0.93
E2E_Evaluator_importmap 31836.421223434998 ns/iter 33944.103730798284 ns/iter 0.94
E2E_Evaluator_jasmine 78859.82132080696 ns/iter 89553.95801268029 ns/iter 0.88
E2E_Evaluator_jshintrc 887675.5361365591 ns/iter 1033076.2989982738 ns/iter 0.86
E2E_Evaluator_jsconfig 305343.29378285364 ns/iter 326157.7572333043 ns/iter 0.94
E2E_Evaluator_krakend 131310.43050778686 ns/iter 137911.65385302372 ns/iter 0.95
E2E_Evaluator_lazygit 96082.13783635836 ns/iter 105076.70046728743 ns/iter 0.91
E2E_Evaluator_lerna 127728.8858603131 ns/iter 117393.6356651134 ns/iter 1.09
E2E_Evaluator_nest_cli 122173.02870485066 ns/iter 130967.01861802266 ns/iter 0.93
E2E_Evaluator_omc 12874.242759687215 ns/iter 14463.297543398723 ns/iter 0.89
E2E_Evaluator_omnisharp 434444.1339460993 ns/iter 463254.4698512304 ns/iter 0.94
E2E_Evaluator_openapi 5630960.385246908 ns/iter 7112978.810345464 ns/iter 0.79
E2E_Evaluator_pre_commit_hooks 329656.5882352541 ns/iter 380851.137777802 ns/iter 0.87
E2E_Evaluator_pulumi 512990.24838466494 ns/iter 527773.2071713634 ns/iter 0.97
E2E_Evaluator_semantic_release 68792.37414358192 ns/iter 72396.88327683973 ns/iter 0.95
E2E_Evaluator_stale 111560.71730706027 ns/iter 128102.98565504843 ns/iter 0.87
E2E_Evaluator_stylecop 219317.45113168287 ns/iter 194894.4804031609 ns/iter 1.13
E2E_Evaluator_tmuxinator 67723.91364846472 ns/iter 76772.89498701808 ns/iter 0.88
E2E_Evaluator_ui5 383192.48298974574 ns/iter 395933.3425721176 ns/iter 0.97
E2E_Evaluator_ui5_manifest 1559402.2570094536 ns/iter 1898771.6790538677 ns/iter 0.82
E2E_Evaluator_unreal_engine_uproject 317248.9977304416 ns/iter 331683.1337325064 ns/iter 0.96
E2E_Evaluator_users_array 413538.7593140269 ns/iter 427550.3370716087 ns/iter 0.97
E2E_Evaluator_vercel 218860.11342158398 ns/iter 235959.9125981233 ns/iter 0.93
E2E_Evaluator_yamllint 5767.861021895563 ns/iter 6346.770813934459 ns/iter 0.91
Micro_Draft4_Meta_1_No_Callback 125.3877445334186 ns/iter 134.74257401589813 ns/iter 0.93
Micro_Draft4_Required_Properties 618.4625452490563 ns/iter 671.1699787402173 ns/iter 0.92
Micro_Draft4_Many_Optional_Properties_Minimal_Match 15.80888721893136 ns/iter 19.299017646806877 ns/iter 0.82
Micro_Draft4_Few_Optional_Properties_Minimal_Match 7.12725186282158 ns/iter 8.695058069817291 ns/iter 0.82
Micro_Draft4_Items_Schema 252.3470606629225 ns/iter 290.35513067823155 ns/iter 0.87
Micro_Draft4_Nested_Object 0.6832999885912125 ns/iter 0.7675648700179976 ns/iter 0.89
Micro_Draft4_Properties_Triad_Optional 202.54876224899715 ns/iter 233.58277832468076 ns/iter 0.87
Micro_Draft4_Properties_Triad_Closed 172.529684038569 ns/iter 185.2955633373536 ns/iter 0.93
Micro_Draft4_Properties_Triad_Required 215.6483233966095 ns/iter 231.30519972474107 ns/iter 0.93
Micro_Draft4_Properties_Closed 43.68577038739524 ns/iter 39.17273735732693 ns/iter 1.12
Micro_Draft4_Non_Recursive_Ref 15.18044044131595 ns/iter 14.025148453023599 ns/iter 1.08
Micro_Draft4_Pattern_Properties_True 142.47207312969428 ns/iter 151.42518201533844 ns/iter 0.94
Micro_Draft4_Ref_To_Single_Property 6.9963348176449065 ns/iter 7.548495828207814 ns/iter 0.93
Micro_Draft4_Additional_Properties_Type 26.05034051974314 ns/iter 26.82827792467024 ns/iter 0.97
Micro_Draft4_Nested_Oneof 41.9620934779242 ns/iter 55.55584833559698 ns/iter 0.76
Micro_Draft4_Short_Enum 4.890092048766967 ns/iter 5.914501943002342 ns/iter 0.83
Micro_Draft4_Long_Enum 9.875584293459422 ns/iter 11.44306564534626 ns/iter 0.86
Micro_Draft4_Long_Enum_Short_Strings 6.298410458995813 ns/iter 6.6629721558582355 ns/iter 0.95
Micro_Draft4_Type_Object 2.1937634275751106 ns/iter 2.283440998193713 ns/iter 0.96
Micro_Draft4_Ref_Single_100 1699135.6249997125 ns/iter 1931847.5511816628 ns/iter 0.88
Micro_Draft4_Compile_Ref_Many_Nested 1259723.9577207167 ns/iter 1458192.424242401 ns/iter 0.86
Micro_Draft4_Compile_Wrap 2523824.127906849 ns/iter 2226439.0204082085 ns/iter 1.13
Micro_Draft6_Property_Names 105.72001221428152 ns/iter 111.15917256774242 ns/iter 0.95
Micro_Draft6_Compile_FHIR 11212582707.9999 ns/iter 14041563125.000038 ns/iter 0.80
Micro_Draft7_If_Then_Else 17.92748412811461 ns/iter 20.41067855485496 ns/iter 0.88
Micro_2019_09_Unevaluated_Properties 29.160997823835746 ns/iter 29.80731780232661 ns/iter 0.98
Micro_2019_09_Compile_Wrap 388770666.9999034 ns/iter 345600208.00006443 ns/iter 1.12
Micro_2020_12_Dynamic_Ref 191.6386811675947 ns/iter 210.43597990149993 ns/iter 0.91
Micro_2020_12_Dynamic_Ref_Single 2.2058637551910474 ns/iter 2.500928664356938 ns/iter 0.88
Micro_2020_12_Simple_Output_Mask 917.6692608871218 ns/iter 944.0132602398683 ns/iter 0.97
Micro_2020_12_Simple_Output_Annotations 109866.25130357266 ns/iter 111993.82692883608 ns/iter 0.98
Micro_2020_12_Compile_NonCircular_Shared_Refs 841422.9340975196 ns/iter 1112899.159690021 ns/iter 0.76
Micro_2020_12_Exhaustive_Deep_Numeric 5489.796261491297 ns/iter 6581.36908699415 ns/iter 0.83
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput 117948.33024897016 ns/iter 137689.60419159607 ns/iter 0.86
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput 15323.375696353849 ns/iter 17593.991928839052 ns/iter 0.87
Micro_2020_12_Exhaustive_Deep_Numeric_Fail 103.86577848818304 ns/iter 130.4755911892951 ns/iter 0.80
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput 4738.090936516602 ns/iter 8329.180018314033 ns/iter 0.57
Alterschema_Check_Readibility_ISO_Language_Set_3 247833361.00002393 ns/iter 308972229.0000054 ns/iter 0.80
Alterschema_Check_Readibility_OMC 63587912.00000269 ns/iter 74575015.62498692 ns/iter 0.85
Alterschema_Check_Readibility_KrakenD 711544334.0001093 ns/iter 974045374.9998324 ns/iter 0.73
Alterschema_Apply_Readibility_KrakenD 77736839666.99991 ns/iter 88979749000.99985 ns/iter 0.87
Alterschema_Check_Invalid_External_Refs 180111541.5000254 ns/iter 222938027.66663852 ns/iter 0.81

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

Copy link
Copy Markdown

@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.

JavaScript (macos/llvm)

Details
Benchmark suite Current: 42eaf87 Previous: 1f5971b Ratio
E2E_Evaluator_adaptivecard 103674 ns 145690 ns 0.71
E2E_Evaluator_ansible-meta 335256 ns 501335 ns 0.67
E2E_Evaluator_aws-cdk 113454 ns 151530 ns 0.75
E2E_Evaluator_babelrc 244564 ns 335373 ns 0.73
E2E_Evaluator_cerebrum-criminal-case 1554028 ns 2225251 ns 0.70
E2E_Evaluator_clang-format 174629 ns 260291 ns 0.67
E2E_Evaluator_cmake-presets 11332966 ns 22054205 ns 0.51
E2E_Evaluator_code-climate 392558 ns 583242 ns 0.67
E2E_Evaluator_cql2 953053 ns 1565397 ns 0.61
E2E_Evaluator_cspell 1111508 ns 2076651 ns 0.54
E2E_Evaluator_cypress 526533 ns 941210 ns 0.56
E2E_Evaluator_deno 664256 ns 1421911 ns 0.47
E2E_Evaluator_dependabot 716714 ns 1139851 ns 0.63
E2E_Evaluator_draft-04 22881167 ns 26597720 ns 0.86
E2E_Evaluator_fabric-mod 1452347 ns 2648466 ns 0.55
E2E_Evaluator_geojson 15995315 ns 16159498 ns 0.99
E2E_Evaluator_gitpod-configuration 473767 ns 587882 ns 0.81
E2E_Evaluator_helm-chart-lock 888666 ns 1000608 ns 0.89
E2E_Evaluator_importmap 216708 ns 248035 ns 0.87
E2E_Evaluator_jasmine 213781 ns 246017 ns 0.87
E2E_Evaluator_jsconfig 983970 ns 1168367 ns 0.84
E2E_Evaluator_jshintrc 2526029 ns 2485050 ns 1.02
E2E_Evaluator_krakend 446483 ns 556397 ns 0.80
E2E_Evaluator_lazygit 256549 ns 385528 ns 0.67
E2E_Evaluator_lerna 295273 ns 346822 ns 0.85
E2E_Evaluator_nest-cli 383486 ns 438473 ns 0.87
E2E_Evaluator_omc 70281 ns 84122 ns 0.84
E2E_Evaluator_omnisharp 1019862 ns 1504478 ns 0.68
E2E_Evaluator_openapi 17194617 ns 18982636 ns 0.91
E2E_Evaluator_pre-commit-hooks 1311103 ns 1667213 ns 0.79
E2E_Evaluator_pulumi 1349876 ns 1737943 ns 0.78
E2E_Evaluator_semantic-release 174563 ns 204515 ns 0.85
E2E_Evaluator_stale 276479 ns 333596 ns 0.83
E2E_Evaluator_stylecop 668679 ns 901140 ns 0.74
E2E_Evaluator_tmuxinator 151834 ns 189899 ns 0.80
E2E_Evaluator_ui5 1701158 ns 2338642 ns 0.73
E2E_Evaluator_ui5-manifest 7488299 ns 10492418 ns 0.71
E2E_Evaluator_unreal-engine-uproject 1101825 ns 1420893 ns 0.78
E2E_Evaluator_users-array 1796051 ns 2358349 ns 0.76
E2E_Evaluator_vercel 689022 ns 902631 ns 0.76
E2E_Evaluator_yamllint 25257 ns 29478 ns 0.86

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

Copy link
Copy Markdown

@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: 42eaf87 Previous: 1f5971b Ratio
Alterschema_Check_Readibility_ISO_Language_Set_3 331450035.49998367 ns/iter 348842722.49996686 ns/iter 0.95
Alterschema_Check_Readibility_OMC 98697822.71428968 ns/iter 96446153.14284368 ns/iter 1.02
Alterschema_Check_Readibility_KrakenD 1344641021.999905 ns/iter 1363192254.0000687 ns/iter 0.99
Alterschema_Apply_Readibility_KrakenD 131104395500.00024 ns/iter 125709701317.00006 ns/iter 1.04
Alterschema_Check_Invalid_External_Refs 301559896.99994737 ns/iter 338250680.49998206 ns/iter 0.89
Micro_2020_12_Dynamic_Ref 257.9798761055373 ns/iter 261.60990540453093 ns/iter 0.99
Micro_2020_12_Dynamic_Ref_Single 4.222804208440883 ns/iter 4.670978640788811 ns/iter 0.90
Micro_2020_12_Simple_Output_Mask 1112.3954625125405 ns/iter 1137.6568128135789 ns/iter 0.98
Micro_2020_12_Simple_Output_Annotations 103813.73287371907 ns/iter 112273.7752087632 ns/iter 0.92
Micro_2020_12_Compile_NonCircular_Shared_Refs 1195626.8852739644 ns/iter 1218688.4045139519 ns/iter 0.98
Micro_2020_12_Exhaustive_Deep_Numeric 7966.200036975562 ns/iter 8632.590242324452 ns/iter 0.92
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput 164327.45040839515 ns/iter 166522.09840742903 ns/iter 0.99
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput 26470.39811662884 ns/iter 25992.046061851855 ns/iter 1.02
Micro_2020_12_Exhaustive_Deep_Numeric_Fail 139.5999718730767 ns/iter 140.66611804774772 ns/iter 0.99
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput 4470.569433104866 ns/iter 4605.619867829135 ns/iter 0.97
Micro_2019_09_Unevaluated_Properties 29.2411965788968 ns/iter 28.681249617448138 ns/iter 1.02
Micro_2019_09_Compile_Wrap 310729333.5000349 ns/iter 308842099.00000316 ns/iter 1.01
Micro_Draft7_If_Then_Else 25.31293690482203 ns/iter 25.22760619889882 ns/iter 1.00
Micro_Draft6_Property_Names 151.31761538234025 ns/iter 141.94007525049258 ns/iter 1.07
Micro_Draft6_Compile_FHIR 14797964764.99996 ns/iter 13785280200.999977 ns/iter 1.07
Micro_Draft4_Meta_1_No_Callback 182.36014342146143 ns/iter 175.67238622635247 ns/iter 1.04
Micro_Draft4_Required_Properties 806.2228970536447 ns/iter 846.122769429791 ns/iter 0.95
Micro_Draft4_Many_Optional_Properties_Minimal_Match 21.15962240588241 ns/iter 21.203018268758157 ns/iter 1.00
Micro_Draft4_Few_Optional_Properties_Minimal_Match 13.022992334707531 ns/iter 13.089514176203691 ns/iter 0.99
Micro_Draft4_Items_Schema 315.4172905899404 ns/iter 352.9924463276257 ns/iter 0.89
Micro_Draft4_Nested_Object 1.7580626767243543 ns/iter 1.869090052471954 ns/iter 0.94
Micro_Draft4_Properties_Triad_Optional 402.08134412073247 ns/iter 431.163119390608 ns/iter 0.93
Micro_Draft4_Properties_Triad_Closed 328.04611560712215 ns/iter 342.32621269095597 ns/iter 0.96
Micro_Draft4_Properties_Triad_Required 448.87127405199533 ns/iter 401.95338888952756 ns/iter 1.12
Micro_Draft4_Properties_Closed 62.44481430957184 ns/iter 61.72744363303616 ns/iter 1.01
Micro_Draft4_Non_Recursive_Ref 8.816704971142357 ns/iter 9.6530002150987 ns/iter 0.91
Micro_Draft4_Pattern_Properties_True 213.6603537503565 ns/iter 215.76796673947624 ns/iter 0.99
Micro_Draft4_Ref_To_Single_Property 12.677230105320671 ns/iter 13.091121500187041 ns/iter 0.97
Micro_Draft4_Additional_Properties_Type 14.97617640251577 ns/iter 15.580312216204613 ns/iter 0.96
Micro_Draft4_Nested_Oneof 67.83022386584457 ns/iter 65.42472162176675 ns/iter 1.04
Micro_Draft4_Short_Enum 14.78531131904999 ns/iter 14.715242580837291 ns/iter 1.00
Micro_Draft4_Long_Enum 14.429325300122363 ns/iter 14.648975743415926 ns/iter 0.99
Micro_Draft4_Long_Enum_Short_Strings 14.773371448823383 ns/iter 14.673366050153788 ns/iter 1.01
Micro_Draft4_Type_Object 4.574090461278923 ns/iter 4.674653033941308 ns/iter 0.98
Micro_Draft4_Ref_Single_100 2529870.5359712997 ns/iter 2487054.160142066 ns/iter 1.02
Micro_Draft4_Compile_Ref_Many_Nested 1853717.4497353027 ns/iter 1817610.777202437 ns/iter 1.02
Micro_Draft4_Compile_Wrap 2599485.591077968 ns/iter 2582783.8629631377 ns/iter 1.01
E2E_Compiler_adaptivecard 65751284.181818515 ns/iter 65991452.727282435 ns/iter 1.00
E2E_Compiler_ansible_meta 31465912.40908947 ns/iter 30523566.30435141 ns/iter 1.03
E2E_Compiler_aws_cdk 425929.39453803335 ns/iter 417729.2269460594 ns/iter 1.02
E2E_Compiler_babelrc 2834222.8744937303 ns/iter 2786990.458167544 ns/iter 1.02
E2E_Compiler_clang_format 20677409.22856761 ns/iter 19761667.657140996 ns/iter 1.05
E2E_Compiler_cmake_presets 27984803.639992606 ns/iter 26854016.115381595 ns/iter 1.04
E2E_Compiler_code_climate 2920069.7925307206 ns/iter 2828928.8825915074 ns/iter 1.03
E2E_Compiler_cql2 14085553.899999468 ns/iter 13942882.40000151 ns/iter 1.01
E2E_Compiler_cspell 24348027.071425803 ns/iter 23753394.533332538 ns/iter 1.03
E2E_Compiler_cypress 4246198.945454374 ns/iter 4173929.4437866732 ns/iter 1.02
E2E_Compiler_deno 8414930.27710878 ns/iter 8276430.835292772 ns/iter 1.02
E2E_Compiler_dependabot 4349343.549999674 ns/iter 4234878.369696602 ns/iter 1.03
E2E_Compiler_draft_04 2997359.911016586 ns/iter 2945253.4641353358 ns/iter 1.02
E2E_Compiler_fabric_mod 5233588.857142142 ns/iter 5177274.147060269 ns/iter 1.01
E2E_Compiler_geojson 24655091.64285809 ns/iter 23946860.517243892 ns/iter 1.03
E2E_Compiler_gitpod_configuration 5363501.284616107 ns/iter 5321082.704545626 ns/iter 1.01
E2E_Compiler_helm_chart_lock 738714.8686440164 ns/iter 764356.1293479173 ns/iter 0.97
E2E_Compiler_importmap 302092.91688194696 ns/iter 313730.3660394506 ns/iter 0.96
E2E_Compiler_jasmine 1480706.3953484686 ns/iter 1475729.7578949202 ns/iter 1.00
E2E_Compiler_jshintrc 4738679.459460154 ns/iter 4720241.134229228 ns/iter 1.00
E2E_Compiler_jsconfig 23708853.866666384 ns/iter 23390541.466665126 ns/iter 1.01
E2E_Compiler_krakend 141297001.599969 ns/iter 145916423.79996303 ns/iter 0.97
E2E_Compiler_lazygit 36660217.00001023 ns/iter 35632585.65000069 ns/iter 1.03
E2E_Compiler_lerna 1769482.7430732953 ns/iter 1756570.2562810038 ns/iter 1.01
E2E_Compiler_nest_cli 8172952.11628112 ns/iter 8032796.609193443 ns/iter 1.02
E2E_Compiler_omc 165320453.99998197 ns/iter 165327370.50005153 ns/iter 1.00
E2E_Compiler_omnisharp 7407734.557893108 ns/iter 7233607.406249121 ns/iter 1.02
E2E_Compiler_openapi 27121241.03845781 ns/iter 26987457.923076782 ns/iter 1.00
E2E_Compiler_pre_commit_hooks 5863406.336134979 ns/iter 5781803.844262763 ns/iter 1.01
E2E_Compiler_pulumi 4443137.75316419 ns/iter 4397291.327044021 ns/iter 1.01
E2E_Compiler_semantic_release 1724344.6568628252 ns/iter 1714234.764705782 ns/iter 1.01
E2E_Compiler_stale 1695067.6383497945 ns/iter 1678388.430622489 ns/iter 1.01
E2E_Compiler_stylecop 6573509.292453944 ns/iter 6404599.8807335 ns/iter 1.03
E2E_Compiler_tmuxinator 2124754.10638306 ns/iter 2116516.864457864 ns/iter 1.00
E2E_Compiler_ui5 50612642.42856721 ns/iter 48553719.3571385 ns/iter 1.04
E2E_Compiler_ui5_manifest 315007250.50000256 ns/iter 323575398.4999974 ns/iter 0.97
E2E_Compiler_unreal_engine_uproject 5027245.719424395 ns/iter 4967967.106382173 ns/iter 1.01
E2E_Compiler_users_array 859633.6744760644 ns/iter 874443.3508769489 ns/iter 0.98
E2E_Compiler_vercel 13292103.849054465 ns/iter 13103354.490563363 ns/iter 1.01
E2E_Compiler_yamllint 370847.8790279616 ns/iter 382001.0421224783 ns/iter 0.97
E2E_Evaluator_adaptivecard 23084.794281547995 ns/iter 23949.2162251833 ns/iter 0.96
E2E_Evaluator_ansible_meta 226955.1605815785 ns/iter 247313.01766160334 ns/iter 0.92
E2E_Evaluator_aws_cdk 43947.86969583744 ns/iter 51412.85702752988 ns/iter 0.85
E2E_Evaluator_babelrc 85328.11727863584 ns/iter 103816.72548728887 ns/iter 0.82
E2E_Evaluator_cerebrum_criminal_case 1063225.9226101001 ns/iter 997270.6244605551 ns/iter 1.07
E2E_Evaluator_clang_format 92361.40433116836 ns/iter 105297.20116576554 ns/iter 0.88
E2E_Evaluator_cmake_presets 4519099.111110847 ns/iter 4473280.787097762 ns/iter 1.01
E2E_Evaluator_code_climate 164184.5987305984 ns/iter 192001.99258648106 ns/iter 0.86
E2E_Evaluator_cql2 204625.7294220823 ns/iter 217715.65138756554 ns/iter 0.94
E2E_Evaluator_cspell 496233.47272724705 ns/iter 548613.1090317176 ns/iter 0.90
E2E_Evaluator_cypress 134293.72183031967 ns/iter 174846.393598406 ns/iter 0.77
E2E_Evaluator_deno 269829.4673189206 ns/iter 328046.94851867657 ns/iter 0.82
E2E_Evaluator_dependabot 333580.9876718823 ns/iter 358559.99281312607 ns/iter 0.93
E2E_Evaluator_draft_04 6262848.675924539 ns/iter 7124578.747367961 ns/iter 0.88
E2E_Evaluator_fabric_mod 693839.5856410259 ns/iter 734429.115015901 ns/iter 0.94
E2E_Evaluator_geojson 17456505.0731694 ns/iter 16416234.261901947 ns/iter 1.06
E2E_Evaluator_gitpod_configuration 220791.79823459822 ns/iter 250909.4149438023 ns/iter 0.88
E2E_Evaluator_helm_chart_lock 214543.98026934837 ns/iter 319666.00731592055 ns/iter 0.67
E2E_Evaluator_importmap 40474.15852594047 ns/iter 49063.54977690891 ns/iter 0.82
E2E_Evaluator_jasmine 102903.60530168397 ns/iter 113923.68690300862 ns/iter 0.90
E2E_Evaluator_jshintrc 1009834.2145864216 ns/iter 1053932.8117472616 ns/iter 0.96
E2E_Evaluator_jsconfig 385726.1653846623 ns/iter 417899.09715641866 ns/iter 0.92
E2E_Evaluator_krakend 179300.5755901868 ns/iter 205181.32629109977 ns/iter 0.87
E2E_Evaluator_lazygit 121657.38959457641 ns/iter 141453.8651209612 ns/iter 0.86
E2E_Evaluator_lerna 116982.33008378833 ns/iter 149227.13657906125 ns/iter 0.78
E2E_Evaluator_nest_cli 178456.99338923633 ns/iter 192592.52284687606 ns/iter 0.93
E2E_Evaluator_omc 17943.441958955296 ns/iter 18587.74139042593 ns/iter 0.97
E2E_Evaluator_omnisharp 511263.63808135083 ns/iter 542109.9154149697 ns/iter 0.94
E2E_Evaluator_openapi 9063943.813334845 ns/iter 9422268.628571017 ns/iter 0.96
E2E_Evaluator_pre_commit_hooks 467042.2163624047 ns/iter 512159.4424513756 ns/iter 0.91
E2E_Evaluator_pulumi 711130.5360823964 ns/iter 707929.0591234794 ns/iter 1.00
E2E_Evaluator_semantic_release 85401.88143204154 ns/iter 105634.59297552117 ns/iter 0.81
E2E_Evaluator_stale 145320.0199252901 ns/iter 154393.9505470845 ns/iter 0.94
E2E_Evaluator_stylecop 291981.2366315838 ns/iter 325919.62124708906 ns/iter 0.90
E2E_Evaluator_tmuxinator 86523.44389582738 ns/iter 103852.53115425076 ns/iter 0.83
E2E_Evaluator_ui5 492916.73699007474 ns/iter 540641.7065216829 ns/iter 0.91
E2E_Evaluator_ui5_manifest 2533537.91304338 ns/iter 2766456.380952388 ns/iter 0.92
E2E_Evaluator_unreal_engine_uproject 425236.7283725608 ns/iter 466599.5737264716 ns/iter 0.91
E2E_Evaluator_users_array 609537.2736660392 ns/iter 619339.3174604719 ns/iter 0.98
E2E_Evaluator_vercel 252351.15029113102 ns/iter 308087.3775510136 ns/iter 0.82
E2E_Evaluator_yamllint 9674.99732110831 ns/iter 10514.984191933878 ns/iter 0.92

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

Copy link
Copy Markdown

@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.

JavaScript (linux/gcc)

Details
Benchmark suite Current: 42eaf87 Previous: 1f5971b Ratio
E2E_Evaluator_adaptivecard 116635 ns 114169 ns 1.02
E2E_Evaluator_ansible-meta 516461 ns 501823 ns 1.03
E2E_Evaluator_aws-cdk 127458 ns 136670 ns 0.93
E2E_Evaluator_babelrc 302835 ns 314701 ns 0.96
E2E_Evaluator_cerebrum-criminal-case 2581382 ns 2416571 ns 1.07
E2E_Evaluator_clang-format 253993 ns 257881 ns 0.98
E2E_Evaluator_cmake-presets 17049205 ns 17248366 ns 0.99
E2E_Evaluator_code-climate 481192 ns 484598 ns 0.99
E2E_Evaluator_cql2 1198283 ns 1157187 ns 1.04
E2E_Evaluator_cspell 1565824 ns 1424130 ns 1.10
E2E_Evaluator_cypress 848781 ns 763213 ns 1.11
E2E_Evaluator_deno 1041091 ns 1010151 ns 1.03
E2E_Evaluator_dependabot 1001639 ns 1029587 ns 0.97
E2E_Evaluator_draft-04 20082377 ns 20097806 ns 1.00
E2E_Evaluator_fabric-mod 2439944 ns 2279722 ns 1.07
E2E_Evaluator_geojson 26035860 ns 25889342 ns 1.01
E2E_Evaluator_gitpod-configuration 706704 ns 691599 ns 1.02
E2E_Evaluator_helm-chart-lock 1002725 ns 970631 ns 1.03
E2E_Evaluator_importmap 269796 ns 272011 ns 0.99
E2E_Evaluator_jasmine 277846 ns 295771 ns 0.94
E2E_Evaluator_jsconfig 1415060 ns 1201181 ns 1.18
E2E_Evaluator_jshintrc 2925001 ns 2773731 ns 1.05
E2E_Evaluator_krakend 650826 ns 704877 ns 0.92
E2E_Evaluator_lazygit 438661 ns 498950 ns 0.88
E2E_Evaluator_lerna 418549 ns 447697 ns 0.93
E2E_Evaluator_nest-cli 577772 ns 565044 ns 1.02
E2E_Evaluator_omc 90284 ns 89351 ns 1.01
E2E_Evaluator_omnisharp 1461485 ns 1393161 ns 1.05
E2E_Evaluator_openapi 22674084 ns 23948590 ns 0.95
E2E_Evaluator_pre-commit-hooks 1922012 ns 1889870 ns 1.02
E2E_Evaluator_pulumi 1907312 ns 1802701 ns 1.06
E2E_Evaluator_semantic-release 229942 ns 255016 ns 0.90
E2E_Evaluator_stale 358417 ns 383722 ns 0.93
E2E_Evaluator_stylecop 1129668 ns 1111776 ns 1.02
E2E_Evaluator_tmuxinator 215458 ns 215715 ns 1.00
E2E_Evaluator_ui5 2001823 ns 2056058 ns 0.97
E2E_Evaluator_ui5-manifest 9558918 ns 10201607 ns 0.94
E2E_Evaluator_unreal-engine-uproject 1528591 ns 1441289 ns 1.06
E2E_Evaluator_users-array 2306609 ns 2258565 ns 1.02
E2E_Evaluator_vercel 959300 ns 970721 ns 0.99
E2E_Evaluator_yamllint 26470 ns 27898 ns 0.95

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

jviotti added 2 commits April 17, 2026 20:15
Signed-off-by: Juan Cruz Viotti <[email protected]>
Signed-off-by: Juan Cruz Viotti <[email protected]>
Signed-off-by: Juan Cruz Viotti <[email protected]>
@jviotti jviotti marked this pull request as ready for review April 18, 2026 02:09
Copy link
Copy Markdown

@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.

5 issues found across 16 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="src/alterschema/common/flatten_nested_anyof.h">

<violation number="1" location="src/alterschema/common/flatten_nested_anyof.h:113">
P1: Recursive `anyOf` flattening records insufficient path information for `rereference`, which can mis-remap pointers when nested `anyOf` depth is greater than one.</violation>
</file>

<file name="test/alterschema/alterschema_lint_draft7_test.cc">

<violation number="1" location="test/alterschema/alterschema_lint_draft7_test.cc:4159">
P1: The expected output merges `allOf` branches into the parent schema, but the implemented rule only flattens nested arrays.</violation>

<violation number="2" location="test/alterschema/alterschema_lint_draft7_test.cc:4270">
P1: These expectations don't match the implemented double-negation rule for boolean inner schemas.</violation>
</file>

<file name="src/alterschema/common/double_negation_elimination.h">

<violation number="1" location="src/alterschema/common/double_negation_elimination.h:33">
P1: The rule only checks local `unevaluated*` keywords, but this rewrite can also change behavior when `unevaluatedProperties`/`unevaluatedItems` are defined on an ancestor schema.</violation>
</file>

<file name="src/alterschema/common/flatten_nested_allof.h">

<violation number="1" location="src/alterschema/common/flatten_nested_allof.h:93">
P1: `rereference()` uses `old_index` instead of tuple `outer` when matching flattened `allOf` paths, which can remap pointers to the wrong branch.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread src/alterschema/common/flatten_nested_anyof.h
Comment thread test/alterschema/alterschema_lint_draft7_test.cc
EXPECT_EQ(document, expected);
}

TEST(AlterSchema_lint_draft7, double_negation_elimination_true) {
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot Apr 18, 2026

Choose a reason for hiding this comment

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

P1: These expectations don't match the implemented double-negation rule for boolean inner schemas.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At test/alterschema/alterschema_lint_draft7_test.cc, line 4270:

<comment>These expectations don't match the implemented double-negation rule for boolean inner schemas.</comment>

<file context>
@@ -4058,3 +4058,281 @@ TEST(AlterSchema_lint_draft7, valid_examples_16) {
+  EXPECT_EQ(document, expected);
+}
+
+TEST(AlterSchema_lint_draft7, double_negation_elimination_true) {
+  sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({
+    "$schema": "http://json-schema.org/draft-07/schema#",
</file context>
Fix with Cubic

schema.at(KEYWORD).defines(KEYWORD) &&
!(schema.at(KEYWORD).at(KEYWORD).is_boolean() &&
!schema.at(KEYWORD).at(KEYWORD).to_boolean()));
ONLY_CONTINUE_IF(
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot Apr 18, 2026

Choose a reason for hiding this comment

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

P1: The rule only checks local unevaluated* keywords, but this rewrite can also change behavior when unevaluatedProperties/unevaluatedItems are defined on an ancestor schema.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At src/alterschema/common/double_negation_elimination.h, line 33:

<comment>The rule only checks local `unevaluated*` keywords, but this rewrite can also change behavior when `unevaluatedProperties`/`unevaluatedItems` are defined on an ancestor schema.</comment>

<file context>
@@ -0,0 +1,62 @@
+                     schema.at(KEYWORD).defines(KEYWORD) &&
+                     !(schema.at(KEYWORD).at(KEYWORD).is_boolean() &&
+                       !schema.at(KEYWORD).at(KEYWORD).to_boolean()));
+    ONLY_CONTINUE_IF(
+        !(vocabularies.contains_any(
+              {Vocabularies::Known::JSON_Schema_2020_12_Unevaluated,
</file context>
Fix with Cubic

Comment thread src/alterschema/common/flatten_nested_allof.h
@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented Apr 18, 2026

🤖 Augment PR Summary

Summary: This PR simplifies nested logical constructs in the alterschema linter/canonicalizer by adding new normalization rules and updating expected canonical forms.

Changes:

  • Added new transform rules: FlattenNestedAllOf, FlattenNestedAnyOf, and DoubleNegationElimination.
  • Registered the new rules in the alterschema bundle (CMake + includes + rule ordering) so they run during linting/canonicalization.
  • Updated the canonicalizer single-branch wrappers (allOf/anyOf/oneOf) to inline the branch using JSON::merge.
  • Adjusted the transformer’s “processed rule” tracking to key by schema pointer (core::Pointer) instead of JSON address, improving stability across reframing/mutations.
  • Refreshed/expanded unit tests across drafts (2019-09/2020-12/draft4/6/7) and added new draft-07 lint tests covering nested-flattening + double-negation cases.

Technical notes: The new rules are mutating and request reframing after transforms; test updates primarily reflect the new flattened/disentangled canonical output.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@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. 2 suggestions posted.

Fix All in Augment

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

for (const auto &entry : branch.as_object()) {
schema.assign(entry.first, entry.second);
}
schema.merge(branch.as_object());
Copy link
Copy Markdown

@augmentcode augmentcode Bot Apr 18, 2026

Choose a reason for hiding this comment

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

schema.merge(branch.as_object()) does a recursive object merge (and overwrites non-object values), which can change semantics vs the previous per-key assign when both the wrapper schema and the single branch define the same object-valued keyword (e.g. properties, $defs). Can you double-check this deep-merge behavior is intended for canonicalization equivalence here?

Severity: medium

Other Locations
  • src/alterschema/canonicalizer/single_branch_anyof.h:53
  • src/alterschema/canonicalizer/single_branch_oneof.h:53
  • src/alterschema/common/double_negation_elimination.h:48

Fix This in Augment

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

for (const auto &[outer, inner, mapped] : this->index_mapping_) {
if (inner.has_value()) {
const Pointer old_prefix{
prefix.concat({old_index, KEYWORD, inner.value()})};
Copy link
Copy Markdown

@augmentcode augmentcode Bot Apr 18, 2026

Choose a reason for hiding this comment

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

In rereference(), the inner.has_value() branch builds old_prefix using old_index but never checks outer == old_index, so with multiple flattened branches the first matching inner index from a different outer could incorrectly rebase the reference.

Severity: low

Other Locations
  • src/alterschema/common/flatten_nested_anyof.h:87

Fix This in Augment

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

jviotti added 2 commits April 20, 2026 11:05
Signed-off-by: Juan Cruz Viotti <[email protected]>
Signed-off-by: Juan Cruz Viotti <[email protected]>
@jviotti jviotti merged commit 35c2f2f into main Apr 20, 2026
15 checks passed
@jviotti jviotti deleted the logical-fixes branch April 20, 2026 16:20
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