Skip to content

Commit 3c50404

Browse files
fix: improved performance (only node@12 and above) (#344)
1 parent a12730f commit 3c50404

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

src/index.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,10 @@ class TerserPlugin {
126126

127127
concurrency = numWorkers;
128128

129-
worker = new Worker(require.resolve('./minify'), { numWorkers });
129+
worker = new Worker(require.resolve('./minify'), {
130+
numWorkers,
131+
enableWorkerThreads: true,
132+
});
130133

131134
// https://github.com/facebook/jest/issues/8872#issuecomment-524822081
132135
const workerStdout = worker.getStdout();

test/parallel-option.test.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ jest.mock('os', () => {
2727
let workerTransform;
2828
let workerEnd;
2929

30+
const ENABLE_WORKER_THREADS =
31+
typeof process.env.ENABLE_WORKER_THREADS !== 'undefined'
32+
? process.env.ENABLE_WORKER_THREADS === 'true'
33+
: true;
34+
3035
jest.mock('jest-worker', () => {
3136
return jest.fn().mockImplementation((workerPath) => {
3237
return {
@@ -67,6 +72,7 @@ describe('parallel option', () => {
6772

6873
expect(Worker).toHaveBeenCalledTimes(1);
6974
expect(Worker).toHaveBeenLastCalledWith(workerPath, {
75+
enableWorkerThreads: ENABLE_WORKER_THREADS,
7076
numWorkers: os.cpus().length - 1,
7177
});
7278
expect(workerTransform).toHaveBeenCalledTimes(
@@ -98,6 +104,7 @@ describe('parallel option', () => {
98104

99105
expect(Worker).toHaveBeenCalledTimes(1);
100106
expect(Worker).toHaveBeenLastCalledWith(workerPath, {
107+
enableWorkerThreads: ENABLE_WORKER_THREADS,
101108
numWorkers: Math.min(4, os.cpus().length - 1),
102109
});
103110
expect(workerTransform).toHaveBeenCalledTimes(
@@ -117,6 +124,7 @@ describe('parallel option', () => {
117124

118125
expect(Worker).toHaveBeenCalledTimes(1);
119126
expect(Worker).toHaveBeenLastCalledWith(workerPath, {
127+
enableWorkerThreads: ENABLE_WORKER_THREADS,
120128
numWorkers: 2,
121129
});
122130
expect(workerTransform).toHaveBeenCalledTimes(
@@ -140,6 +148,7 @@ describe('parallel option', () => {
140148

141149
expect(Worker).toHaveBeenCalledTimes(1);
142150
expect(Worker).toHaveBeenLastCalledWith(workerPath, {
151+
enableWorkerThreads: ENABLE_WORKER_THREADS,
143152
numWorkers: Math.min(1, os.cpus().length - 1),
144153
});
145154
expect(workerTransform).toHaveBeenCalledTimes(
@@ -167,6 +176,7 @@ describe('parallel option', () => {
167176

168177
expect(Worker).toHaveBeenCalledTimes(1);
169178
expect(Worker).toHaveBeenLastCalledWith(workerPath, {
179+
enableWorkerThreads: ENABLE_WORKER_THREADS,
170180
numWorkers: Math.min(Object.keys(entries).length, os.cpus().length - 1),
171181
});
172182
expect(workerTransform).toHaveBeenCalledTimes(
@@ -194,6 +204,7 @@ describe('parallel option', () => {
194204

195205
expect(Worker).toHaveBeenCalledTimes(1);
196206
expect(Worker).toHaveBeenLastCalledWith(workerPath, {
207+
enableWorkerThreads: ENABLE_WORKER_THREADS,
197208
numWorkers: Math.min(Object.keys(entries).length, os.cpus().length - 1),
198209
});
199210
expect(workerTransform).toHaveBeenCalledTimes(
@@ -232,6 +243,7 @@ describe('parallel option', () => {
232243

233244
expect(Worker).toHaveBeenCalledTimes(1);
234245
expect(Worker).toHaveBeenLastCalledWith(workerPath, {
246+
enableWorkerThreads: ENABLE_WORKER_THREADS,
235247
numWorkers: Math.min(Object.keys(entries).length, os.cpus().length - 1),
236248
});
237249
expect(workerTransform).toHaveBeenCalledTimes(

0 commit comments

Comments
 (0)