我有典型的代码的node.js开始webworker何时开始在节点webworker快速上升内存D b。 对于小型的data
这个工作非常好,但是当数据稍微变大时,工人开始挣扎。与“大”数据
实际的data
我想处理的是一个csv,我用BabyParse解析得到一个具有149000个属性的对象,其中每个属性都有另外17个属性。 (149000行×17列= 2533000个属性)。该文件是17MB。
当做这个节点将分配大量的内存,并最终崩溃大约53%的内存分配。机器有4GB。
工人看起来大致是这样的:
self.onmessage = function (event) {
process(event.data.data);
};
function process(data) {
for (var i = 0; i < data.length; i++) {
self.postMessage({
'properties' : data[i]
});
}
}
我试图大块它逐块也工作好工人中的数据和过程。但是我想生成一个图并处理需要完整数据的边,因为我需要检查每一行(顶点)与其他所有数据。
有没有办法将数据流到工作人员?或者有没有人有一个想法,为什么节点分配这么多的内存与17MB的数据被发送?
谢谢,我不知道文件系统在网络工作者中可用。 – Wipster