【发布时间】:2012-08-08 14:39:17
【问题描述】:
我是 Node.js 的新手,对于这个看起来像菜鸟的问题我感到很抱歉,但如果你的建议让我感觉更好。
我想我掌握了 Node.js 的大部分基础知识。我知道它是单线程的,因此所有 I/O 作业都是异步的,以免阻塞事件循环。
我也明白,由于这种单线程特性,Node.js 不太适合会阻塞事件循环的 CPU 密集型任务。
我的问题很简单:我正在开发一个 websocket 应用程序,对于大多数请求,我必须执行一个带有一些计算的循环。根据我的测试,这个循环可能需要 30 到 80 毫秒才能完成。我应该将其视为 CPU 密集型任务吗? (如果是,我想我应该尝试将其委托给子进程或使用 process.nextTick 将计算分成几个部分)。
【问题讨论】:
-
不知道是不是CPU密集型,但是如果你想要更好的性能,那么你可以考虑写C/C++插件。
-
您还应该考虑您期望处理的并发用户数。 10 个用户的 30 到 80 毫秒可能没什么大不了的,但对于成千上万的用户来说,这就是另一回事了。
标签: node.js