大型csv解析CPU改进

时间:2016-12-15 22:12:46

标签: javascript node.js performance csv

我有大约150mb的csv文件,我需要每5分钟下载,解析和处理一次。但是我希望降低此操作的CPU强度,因为在AWS实例上它占用了大约15%的CPU。

我正在为节点使用fast-csv库,如下所示:

request('https://LinkToTheCSVDownloadable.csv')
  .pipe(csv({
       headers: true
   }))
  .on('data', function (data) {
      objectFilter(data);
   })
  .on('end', function () {
    return callback(filteredObjects);
  })

我这样做的原因是检测csv文件中是否引入了符合我的过滤条件的新对象/行。最耗费CPU的任务就是解析该csv文件,即使我没有通过objectFilter方法运行每一行它占用了大约13%的CPU。

你有任何建议,你可能曾经遇到过或类似的事情,所以我可能会减少甚至一点点的百分比?也许那里有一个更好的图书馆,或者也许我会更好地写自己的?

我还读过某个地方,V8引擎和节点对GC不好,一个选项可能是定期手动管理垃圾?可以减少CPU吗?

谢谢!

0 个答案:

没有答案