我有典型的代碼的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