webpack-contrib/terser-webpack-plugin

Dont use workers for swc & esbuild minify

ronakj opened this issue · 1 comments

ronakj commented

Modification Proposal

SWC and ESBuild minify both run off-thread though native bindings. We don't need to create workers to parallelize workloads for them, unlike terser or uglify-js which block the event loop if not run on separate worker. This should have performance improvement for people who have many output chunk files. I will try this out later and add some numbers to verify.

Expected Behavior / Situation

We simply use promise concurrenctly instead of workers to parallelize.

Actual Behavior / Situation

Workers are created regardless of minification implementation.

@ronakj Can you provide profiling? Because we use parallelization to compress multiple files and avoid memory problems with real big files