https://github.com/yosgspec/bench-langs
こいつで書いたclusterのやつを移植した奴。
https://github.com/yosgspec/bench-langs
こいつで書いたclusterのやつを移植した奴。
"use strict"; const {Worker,isMainThread,workerData,parentPort,threadId}=require("worker_threads"); const cores=4; var maxsum=5000000000; if(!isMainThread){ maxsum=workerData.maxsum; var esum=0; for(var i=0;i<maxsum;i++){ esum++; } parentPort.postMessage(esum); process.exit(); } console.time(); maxsum/=cores; var sum=0; (async function(){ const myWorkers=Array(cores).fill().map(n=>new Promise(resolve=>{ new Worker(__filename,{workerData:{maxsum: maxsum}}) .once("message",esum=>{ sum=sum+esum; return resolve(); }); })); await Promise.all(myWorkers); console.log(sum); console.timeEnd(); })();