webpack-contrib / uglifyjs-webpack-plugin

[deprecated] UglifyJS Plugin
MIT License
1.38k stars 179 forks source link

Please upgrade source-map to 0.7.2 to get speed improvements #248

Open andreicristianpetcu opened 6 years ago

andreicristianpetcu commented 6 years ago

The latest source-map which is v0.7.2 got support for WebAssembly and it is 10 times faster than the old one. More info here:

https://github.com/mozilla/source-map/blob/master/CHANGELOG.md#072 http://fitzgeraldnick.com/2018/02/26/speed-without-wizardry.html https://hacks.mozilla.org/2018/01/oxidizing-source-maps-with-rust-and-webassembly/ https://github.com/devtools-html/debugger.html/issues/5598

Please update so you would get 10 times speed improvements for your library in Firefox, 9 times in Safari and 5 times in Chrome.

alexander-akait commented 6 years ago

@andreicristianpetcu it is breaking change and break plugin on node@6 (eaking change: Drop support for Node < 8. If you want to support older versions of node, please use v0.6 or below.). We can't do this right now

mlavina commented 6 years ago

@evilebottnawi Any chance we can get this released behind an opt-in flag.

My teamis having some production issues related to #272 e.g. out of memory and long build times. As I think we have determined, it's most likely due to a combination of unoptimized code in uglifyJS but also the cost of making source-maps. While there is nothing we can really do about the uglify js code, at least improving the source-map generation might help with that issue.

alexander-akait commented 6 years ago

@mlavina it is not easy, because it is require nodejs@8 version minimum, but if you have ideas how we can fix it, PR welcome

mlavina commented 6 years ago

@evilebottnawi I will try to get a solution as soon as I can, but that might be a while to be honest.

However, a quick source-map gain that we might gain is if we can get this PR https://github.com/webpack/webpack-sources/pull/23 merged for webpack-sources

Especially since in #272 we saw that source-maps were part of the problem.