我有一个函数,在计算上有些昂贵,在这里我们谈论的是2–5ms。
function heavyWork() {
// ...
}
heavyWork()
被我的代码的不同部分立即调用了几次,这会阻塞Node.js的事件循环。我曾考虑过使用child_process.fork
将其移至子进程,但是即使仅发送约500条IPC消息也需要与在主进程中进行计算相同的时间。从理论上讲,我可以使用此解决方案,它比以前慢了一点,并且不会阻塞事件循环,尽管我想加快速度。
我尝试的另一件事是使用child_process.fork
。但是产生许多线程显然比以前的方法还要慢。
我可能必须先找到一种将消息发送给工作进程之前批处理消息的方法,除非我尚未尝试过在Node中实现该消息的方法。有什么想法吗?
我不知道有什么解决方案。我认为创建批次是最好的选择。
我会考虑的一些事情: