我在我的Windows7中使用node.js,并有一个banch异步函数堆栈,并运行它
stack = {
nextStep: function() {
if (this.run) return;
this.run = true;
/* Do some stuff, example for (var i = 0; i < 10000; i++) console.log(i); */
this.run = false;
}
};
setInterval(stack.nextStep.bind(stack), 5);我有大量的任务,必须完成。
他们运行非常缓慢,但CPU使用率超过2-3%!我不知道为什么它的价值这么低,我想,它一定是超过90%的CPU使用率。我做错什么了?
我已经尝试将setInterval计时器减少到0,但这不是工作。windows任务管理器中的CPU使用率总是超过2-3% (有些情况下,nodejs V8获得8-9%,但它会立即通过)。
因此,问题是--如何迫使node.js使用最大的CPU来更快地执行任务?或者我错了的地方。
发布于 2014-02-27 14:43:03
基本上,node.js是每个进程的单线程模型。即使你有多核机器,Node.JS也不能在当时使用所有的CPU。要使用整个cpu,需要使用节点集群。它调用多个进程,进程将使用其他CPU。
由于这个原因,vert.x (simillar to node.js)比node.js更快
https://stackoverflow.com/questions/22068782
复制相似问题