我我已經使用cluster
模塊基本設置:(我有6芯)聚類循環混亂
var cluster = require('cluster');
if (cluster.isMaster) {
var numCPUs = require('os').cpus().length;
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
}else{
//Code here
console.time("Time: ");
var obj = {'abcdef' : 1, 'qqq' : 13, '19' : [1, 2, 3, 4]};
for(var i = 0; i < 500000; i++) {
JSON.parse(JSON.stringify(obj));
}
console.timeEnd("Time: ");
}
如果我要運行該測試。 它會輸出:
但是......如果我跑了cluster.isMaster
塊中完全相同的測試,它會輸出:
1)爲什麼正在執行我的代碼多次而不是一次?
2)由於我有6 cpu cores
幫助我運行該測試,不應該只運行該代碼一次,但更快地執行操作?
Javascript的一個給定部分,例如'for'循環只能運行在一個特定的集羣上。集羣用於在自己的集羣中運行多個操作(例如多個傳入的http請求),這樣獨立的請求可以在單獨的核心上並行運行。 – jfriend00