在浏览器中,发送缓冲区而不是常规数组的速度方式更快。这是通过以下方式完成的:
// create data that can be transfered
var myData = [1,3,5,78,1,2,45,6,5,12];
var buffer = new Float64Array(myData.slice());
var worker = new Worker("some_worker.js");
// transfer the buffer
worker.postMessage({buffer: buffer}, [buffer]);
有没有办法在Node.js的子进程上实现相同的技巧?这会显着加快沟通吗?
例如,如何修改以下脚本以加快速度:
var cp = require('child_process');
// create data that can be transfered
var myData = [1,3,5,78,1,2,45,6,5,12];
var child = cp.fork('some_worker.js');
// transfer the buffer
child.send(myData);