Skip to content

Commit

Permalink
test(es/minifier): Enable more terser tests (#7396)
Browse files Browse the repository at this point in the history
  • Loading branch information
kdy1 authored May 16, 2023
1 parent 4a53951 commit f9cdd74
Show file tree
Hide file tree
Showing 8 changed files with 24 additions and 34 deletions.
6 changes: 0 additions & 6 deletions crates/swc_ecma_minifier/tests/TODO.txt
Original file line number Diff line number Diff line change
Expand Up @@ -251,15 +251,12 @@ issue_203/compress_new_function_with_destruct/input.js
issue_203/compress_new_function_with_destruct_arrows/input.js
issue_22/return_with_no_value_in_if_body/input.js
issue_281/collapse_vars_constants/input.js
issue_281/issue_1758/input.js
issue_2871/comparison_with_undefined/input.js
issue_417/test_unexpected_crash/input.js
issue_417/test_unexpected_crash_2/input.js
issue_44/issue_44_valid_ast_1/input.js
issue_44/issue_44_valid_ast_2/input.js
issue_640/conditional/input.js
issue_640/negate_iife_1/input.js
issue_640/negate_iife_3/input.js
issue_747/dont_reuse_prop/input.js
issue_747/unmangleable_props_should_always_be_reserved/input.js
issue_751/negate_booleans_1/input.js
Expand Down Expand Up @@ -349,7 +346,6 @@ reduce_vars/perf_3/input.js
reduce_vars/perf_7/input.js
reduce_vars/pure_getters_2/input.js
reduce_vars/pure_getters_3/input.js
reduce_vars/recursive_inlining_3/input.js
reduce_vars/redefine_farg_1/input.js
reduce_vars/redefine_farg_2/input.js
reduce_vars/redefine_farg_3/input.js
Expand All @@ -366,6 +362,4 @@ template_string/regex_2/input.js
template_string/side_effects/input.js
template_string/template_evaluate_undefined/input.js
transform/label_if_break/input.js
typeof/issue_2728_3/input.js
typeof/issue_2728_4/input.js
typeof/typeof_defun_1/input.js
6 changes: 6 additions & 0 deletions crates/swc_ecma_minifier/tests/passing.txt
Original file line number Diff line number Diff line change
Expand Up @@ -925,6 +925,7 @@ issue_281/issue_1254_negate_iife_nested/input.js
issue_281/issue_1254_negate_iife_true/input.js
issue_281/issue_1288_side_effects/input.js
issue_281/issue_1595_3/input.js
issue_281/issue_1758/input.js
issue_281/keep_fargs/input.js
issue_281/modified/input.js
issue_281/negate_iife_3/input.js
Expand Down Expand Up @@ -966,6 +967,8 @@ issue_640/iife/input.js
issue_640/issue_1254_negate_iife_nested/input.js
issue_640/issue_1254_negate_iife_true/input.js
issue_640/limit_1/input.js
issue_640/negate_iife_1/input.js
issue_640/negate_iife_3/input.js
issue_640/negate_iife_3_off/input.js
issue_640/negate_iife_4/input.js
issue_640/negate_iife_5/input.js
Expand Down Expand Up @@ -1365,6 +1368,7 @@ reduce_vars/perf_5/input.js
reduce_vars/pure_getters_1/input.js
reduce_vars/recursive_inlining_1/input.js
reduce_vars/recursive_inlining_2/input.js
reduce_vars/recursive_inlining_3/input.js
reduce_vars/recursive_inlining_4/input.js
reduce_vars/recursive_inlining_5/input.js
reduce_vars/redefine_arguments_1/input.js
Expand Down Expand Up @@ -1592,6 +1596,8 @@ typeof/duplicate_lambda_arg_name/input.js
typeof/issue_1668/input.js
typeof/issue_2728_1/input.js
typeof/issue_2728_2/input.js
typeof/issue_2728_3/input.js
typeof/issue_2728_4/input.js
typeof/issue_2728_5/input.js
typeof/issue_2728_6/input.js
typeof/typeof_defun_2/input.js
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
console.log(
(function (c) {
var undefined = 42;
return c--, c--, void c.toString();
})()
);
console.log(function(c) {
return c--, c--, void c.toString();
}());
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
(function () {
!function() {
stuff();
})();
}();
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
(function () {
!function() {
return t;
})()
? console.log(true)
: console.log(false);
}() ? console.log(false) : console.log(true);
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
!(function () {
function qux(x) {
!function() {
(function qux(x) {
console.log("qux", x);
if (x)
(function (x) {
console.log("foo", x);
if (x)
(function (x) {
console.log("bar", x);
if (x) qux(x - 1);
})(x - 1);
if (x) (function(x) {
console.log("foo", x);
if (x) (function(x) {
console.log("bar", x);
if (x) qux(x - 1);
})(x - 1);
}
qux(4);
})();
})(x - 1);
})(4);
}();
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
(function () {
function arguments() {}
(function() {
console.log("function");
})();
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
function arguments() {}
console.log("function");

2 comments on commit f9cdd74

@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

Benchmark suite Current: f9cdd74 Previous: 05b4c11 Ratio
es/full/bugs-1 311041 ns/iter (± 3763) 309018 ns/iter (± 8959) 1.01
es/full/minify/libraries/antd 1735493183 ns/iter (± 18314955) 1543599392 ns/iter (± 21538301) 1.12
es/full/minify/libraries/d3 351236576 ns/iter (± 7577681) 291104106 ns/iter (± 7688411) 1.21
es/full/minify/libraries/echarts 1332983817 ns/iter (± 12102513) 1193738212 ns/iter (± 14301568) 1.12
es/full/minify/libraries/jquery 102031365 ns/iter (± 908071) 91693698 ns/iter (± 264190) 1.11
es/full/minify/libraries/lodash 116887116 ns/iter (± 1774622) 106096775 ns/iter (± 530507) 1.10
es/full/minify/libraries/moment 57828173 ns/iter (± 1304399) 52547041 ns/iter (± 296898) 1.10
es/full/minify/libraries/react 20581980 ns/iter (± 323973) 19319047 ns/iter (± 87976) 1.07
es/full/minify/libraries/terser 287092495 ns/iter (± 3879251) 241082097 ns/iter (± 1637810) 1.19
es/full/minify/libraries/three 505666321 ns/iter (± 6438493) 420515259 ns/iter (± 4870069) 1.20
es/full/minify/libraries/typescript 3245841867 ns/iter (± 17080983) 2949260251 ns/iter (± 19668669) 1.10
es/full/minify/libraries/victory 754053340 ns/iter (± 12796223) 618554119 ns/iter (± 7998718) 1.22
es/full/minify/libraries/vue 150924292 ns/iter (± 3286202) 128252949 ns/iter (± 1100914) 1.18
es/full/codegen/es3 33501 ns/iter (± 320) 33244 ns/iter (± 245) 1.01
es/full/codegen/es5 33442 ns/iter (± 39) 33404 ns/iter (± 56) 1.00
es/full/codegen/es2015 33454 ns/iter (± 47) 33292 ns/iter (± 207) 1.00
es/full/codegen/es2016 33531 ns/iter (± 34) 33336 ns/iter (± 162) 1.01
es/full/codegen/es2017 33478 ns/iter (± 39) 33198 ns/iter (± 196) 1.01
es/full/codegen/es2018 33460 ns/iter (± 58) 33134 ns/iter (± 193) 1.01
es/full/codegen/es2019 33531 ns/iter (± 68) 33137 ns/iter (± 202) 1.01
es/full/codegen/es2020 33446 ns/iter (± 50) 33247 ns/iter (± 393) 1.01
es/full/all/es3 180338156 ns/iter (± 2749634) 181384745 ns/iter (± 2935375) 0.99
es/full/all/es5 172599175 ns/iter (± 2940610) 173670265 ns/iter (± 3206855) 0.99
es/full/all/es2015 135919547 ns/iter (± 3398706) 137389277 ns/iter (± 1744002) 0.99
es/full/all/es2016 134399379 ns/iter (± 1186979) 134262537 ns/iter (± 1600786) 1.00
es/full/all/es2017 131938300 ns/iter (± 596731) 133322824 ns/iter (± 1781974) 0.99
es/full/all/es2018 125987243 ns/iter (± 1776364) 127231435 ns/iter (± 2472922) 0.99
es/full/all/es2019 122935877 ns/iter (± 1415003) 123356419 ns/iter (± 1508555) 1.00
es/full/all/es2020 118396307 ns/iter (± 1053252) 117503773 ns/iter (± 800841) 1.01
es/full/parser 514003 ns/iter (± 8526) 508308 ns/iter (± 7711) 1.01
es/full/base/fixer 22735 ns/iter (± 29) 22545 ns/iter (± 83) 1.01
es/full/base/resolver_and_hygiene 88767 ns/iter (± 107) 85360 ns/iter (± 386) 1.04
serialization of serde 122 ns/iter (± 0) 122 ns/iter (± 0) 1
css/minify/libraries/bootstrap 29373042 ns/iter (± 403372) 27636808 ns/iter (± 286683) 1.06
css/visitor/compare/clone 2182358 ns/iter (± 35505) 2140121 ns/iter (± 11942) 1.02
css/visitor/compare/visit_mut_span 2471792 ns/iter (± 48098) 2322966 ns/iter (± 9205) 1.06
css/visitor/compare/visit_mut_span_panic 2488604 ns/iter (± 56114) 2376693 ns/iter (± 7139) 1.05
css/visitor/compare/fold_span 3337088 ns/iter (± 105525) 3083000 ns/iter (± 16687) 1.08
css/visitor/compare/fold_span_panic 3438823 ns/iter (± 129858) 3238277 ns/iter (± 33885) 1.06
css/lexer/bootstrap_5_1_3 5186384 ns/iter (± 9637) 5205863 ns/iter (± 12431) 1.00
css/lexer/foundation_6_7_4 4404445 ns/iter (± 912) 4379789 ns/iter (± 83457) 1.01
css/lexer/tailwind_3_1_1 838411 ns/iter (± 8275) 832425 ns/iter (± 1073) 1.01
css/parser/bootstrap_5_1_3 22090577 ns/iter (± 88286) 21140132 ns/iter (± 96453) 1.04
css/parser/foundation_6_7_4 17496606 ns/iter (± 53576) 16845764 ns/iter (± 44727) 1.04
css/parser/tailwind_3_1_1 3245569 ns/iter (± 6149) 3224869 ns/iter (± 4527) 1.01
es/codegen/colors 696346 ns/iter (± 405796) 696353 ns/iter (± 405608) 1.00
es/codegen/large 2685926 ns/iter (± 1588335) 1200941 ns/iter (± 592400) 2.24
es/codegen/with-parser/colors 48801 ns/iter (± 712) 48454 ns/iter (± 236) 1.01
es/codegen/with-parser/large 529644 ns/iter (± 942) 529187 ns/iter (± 1109) 1.00
es/minify/libraries/antd 1506745386 ns/iter (± 8872155) 1383575842 ns/iter (± 10982122) 1.09
es/minify/libraries/d3 302938056 ns/iter (± 5379901) 263774233 ns/iter (± 2315329) 1.15
es/minify/libraries/echarts 1167613156 ns/iter (± 7376577) 1062316139 ns/iter (± 10464404) 1.10
es/minify/libraries/jquery 88160027 ns/iter (± 1984130) 81859731 ns/iter (± 601427) 1.08
es/minify/libraries/lodash 106560827 ns/iter (± 2477595) 97095343 ns/iter (± 657644) 1.10
es/minify/libraries/moment 50369710 ns/iter (± 950118) 46792125 ns/iter (± 523434) 1.08
es/minify/libraries/react 18366539 ns/iter (± 150243) 17261761 ns/iter (± 121838) 1.06
es/minify/libraries/terser 246100137 ns/iter (± 3472951) 209509657 ns/iter (± 3075363) 1.17
es/minify/libraries/three 427430313 ns/iter (± 3530944) 359463845 ns/iter (± 6804198) 1.19
es/minify/libraries/typescript 2581630963 ns/iter (± 67485898) 2510322324 ns/iter (± 28399227) 1.03
es/minify/libraries/victory 621051218 ns/iter (± 33024161) 541752630 ns/iter (± 9157968) 1.15
es/minify/libraries/vue 119684015 ns/iter (± 4519011) 115301339 ns/iter (± 380008) 1.04
es/visitor/compare/clone 2330705 ns/iter (± 12784) 2332672 ns/iter (± 23057) 1.00
es/visitor/compare/visit_mut_span 2689048 ns/iter (± 5452) 2701047 ns/iter (± 15245) 1.00
es/visitor/compare/visit_mut_span_panic 2755056 ns/iter (± 5553) 2751368 ns/iter (± 15724) 1.00
es/visitor/compare/fold_span 3829683 ns/iter (± 27598) 3795283 ns/iter (± 17955) 1.01
es/visitor/compare/fold_span_panic 4090141 ns/iter (± 56116) 3931769 ns/iter (± 29385) 1.04
es/lexer/colors 12990 ns/iter (± 20) 13003 ns/iter (± 97) 1.00
es/lexer/angular 6346610 ns/iter (± 1795) 6282771 ns/iter (± 30510) 1.01
es/lexer/backbone 782635 ns/iter (± 730) 777989 ns/iter (± 3215) 1.01
es/lexer/jquery 4426869 ns/iter (± 2538) 4380483 ns/iter (± 23379) 1.01
es/lexer/jquery mobile 6847435 ns/iter (± 7903) 6811134 ns/iter (± 33276) 1.01
es/lexer/mootools 3444512 ns/iter (± 9805) 3424143 ns/iter (± 16686) 1.01
es/lexer/underscore 645113 ns/iter (± 395) 640578 ns/iter (± 2747) 1.01
es/lexer/three 20751876 ns/iter (± 14489) 20563931 ns/iter (± 105320) 1.01
es/lexer/yui 3839297 ns/iter (± 1712) 3805119 ns/iter (± 28756) 1.01
es/parser/colors 29249 ns/iter (± 74) 29057 ns/iter (± 146) 1.01
es/parser/angular 15072277 ns/iter (± 112485) 14889584 ns/iter (± 117578) 1.01
es/parser/backbone 2172019 ns/iter (± 13189) 2124647 ns/iter (± 23148) 1.02
es/parser/jquery 13113865 ns/iter (± 164939) 11642646 ns/iter (± 63888) 1.13
es/parser/jquery mobile 20506506 ns/iter (± 246442) 17981684 ns/iter (± 122047) 1.14
es/parser/mootools 9373353 ns/iter (± 115947) 8876341 ns/iter (± 40247) 1.06
es/parser/underscore 1835621 ns/iter (± 10357) 1806120 ns/iter (± 15257) 1.02
es/parser/three 57539790 ns/iter (± 348319) 52083470 ns/iter (± 719843) 1.10
es/parser/yui 9521670 ns/iter (± 300989) 8982213 ns/iter (± 58297) 1.06
es/preset-env/usage/builtin_type 141921 ns/iter (± 35122) 141820 ns/iter (± 34859) 1.00
es/preset-env/usage/property 20309 ns/iter (± 60) 19858 ns/iter (± 165) 1.02
es/resolver/typescript 118079419 ns/iter (± 3140214) 110968210 ns/iter (± 2050845) 1.06
es/fixer/typescript 83170630 ns/iter (± 1480964) 76234691 ns/iter (± 664771) 1.09
es/hygiene/typescript 182262676 ns/iter (± 1755630) 166278356 ns/iter (± 1181964) 1.10
es/resolver_with_hygiene/typescript 336311718 ns/iter (± 3459673) 308310858 ns/iter (± 3453952) 1.09
es/visitor/base-perf/module_clone 81429 ns/iter (± 424) 80573 ns/iter (± 665) 1.01
es/visitor/base-perf/fold_empty 91386 ns/iter (± 379) 90928 ns/iter (± 628) 1.01
es/visitor/base-perf/fold_noop_impl_all 91338 ns/iter (± 631) 90660 ns/iter (± 362) 1.01
es/visitor/base-perf/fold_noop_impl_vec 91335 ns/iter (± 486) 91364 ns/iter (± 463) 1.00
es/visitor/base-perf/boxing_boxed_clone 57 ns/iter (± 0) 57 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed_clone 41 ns/iter (± 0) 41 ns/iter (± 0) 1
es/visitor/base-perf/boxing_boxed 102 ns/iter (± 0) 101 ns/iter (± 0) 1.01
es/visitor/base-perf/boxing_unboxed 78 ns/iter (± 0) 77 ns/iter (± 0) 1.01
es/visitor/base-perf/visit_contains_this 3557 ns/iter (± 50) 3515 ns/iter (± 98) 1.01
es/base/parallel/resolver/typescript 6249525557 ns/iter (± 501676219) 6015761504 ns/iter (± 341172329) 1.04
es/base/parallel/hygiene/typescript 2026087306 ns/iter (± 31803790) 1977751182 ns/iter (± 18725923) 1.02
misc/visitors/time-complexity/time 5 107 ns/iter (± 0) 107 ns/iter (± 0) 1
misc/visitors/time-complexity/time 10 365 ns/iter (± 2) 363 ns/iter (± 1) 1.01
misc/visitors/time-complexity/time 15 713 ns/iter (± 1) 713 ns/iter (± 9) 1
misc/visitors/time-complexity/time 20 1329 ns/iter (± 3) 1330 ns/iter (± 10) 1.00
misc/visitors/time-complexity/time 40 7015 ns/iter (± 3) 6997 ns/iter (± 15) 1.00
misc/visitors/time-complexity/time 60 17832 ns/iter (± 4) 17802 ns/iter (± 68) 1.00
es/full-target/es2016 254705 ns/iter (± 265) 254862 ns/iter (± 324) 1.00
es/full-target/es2017 247641 ns/iter (± 323) 247547 ns/iter (± 573) 1.00
es/full-target/es2018 236454 ns/iter (± 466) 235707 ns/iter (± 749) 1.00
es2020_nullish_coalescing 93571 ns/iter (± 442) 92924 ns/iter (± 426) 1.01
es2020_optional_chaining 124604 ns/iter (± 232) 125062 ns/iter (± 481) 1.00
es2022_class_properties 150191 ns/iter (± 244) 149462 ns/iter (± 519) 1.00
es2018_object_rest_spread 96624 ns/iter (± 256) 96477 ns/iter (± 366) 1.00
es2019_optional_catch_binding 85807 ns/iter (± 231) 85669 ns/iter (± 226) 1.00
es2017_async_to_generator 86313 ns/iter (± 195) 86483 ns/iter (± 293) 1.00
es2016_exponentiation 90570 ns/iter (± 468) 90847 ns/iter (± 1525) 1.00
es2015_arrow 94271 ns/iter (± 271) 94547 ns/iter (± 275) 1.00
es2015_block_scoped_fn 92296 ns/iter (± 226) 92272 ns/iter (± 412) 1.00
es2015_block_scoping 170226 ns/iter (± 364) 170319 ns/iter (± 347) 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.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 2.

Benchmark suite Current: f9cdd74 Previous: 05b4c11 Ratio
es/codegen/large 2685926 ns/iter (± 1588335) 1200941 ns/iter (± 592400) 2.24

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

CC: @kdy1

Please # to comment.