Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance Node.js性能:将阵列保存到磁盘并加载,无需解析_Performance_Node.js - Fatal编程技术网

Performance Node.js性能:将阵列保存到磁盘并加载,无需解析

Performance Node.js性能:将阵列保存到磁盘并加载,无需解析,performance,node.js,Performance,Node.js,我遇到了cpu密集型node.js进程的性能问题。 基本上,我只需要加载一个先前保存的文件,其中包含一个大(150MB到1GB)数组,然后在该数组上迭代以进行一些计算。 我尝试了不同的选项(slice、eval、vm…),但没有什么比JSON.parse更好,它“慢”: 在我的测试机上加载文件需要234ms,但解析它需要1437ms。 对于node.js,是否有其他选项可以在磁盘上保存“内存状态”,并在以后检索它而不进行解析? 本机模块是否有帮助? 谢谢。对于大小不一的文件,一些流媒体方式可能是

我遇到了cpu密集型node.js进程的性能问题。 基本上,我只需要加载一个先前保存的文件,其中包含一个大(150MB到1GB)数组,然后在该数组上迭代以进行一些计算。 我尝试了不同的选项(slice、eval、vm…),但没有什么比JSON.parse更好,它“慢”: 在我的测试机上加载文件需要234ms,但解析它需要1437ms。 对于node.js,是否有其他选项可以在磁盘上保存“内存状态”,并在以后检索它而不进行解析? 本机模块是否有帮助?
谢谢。

对于大小不一的文件,一些流媒体方式可能是更好的选择。无论如何,解析1GB文件大约需要2秒的时间,imo是非常可靠的。你真的需要在内存中有完整的数组来进行计算吗?这么大的文件似乎是流的一个很好的用例。为什么需要在2秒内处理这个大文件?谢谢大家的关注。Ooops。1437ms用于较小的文件。我看不出流有什么帮助,因为我受CPU限制,而不是I/O限制:换句话说,我不能流解析;但也许我没有得到什么。然后,这些聚合用于向用户显示一些报告(这些节点进程在用户的pc上运行,而不是在任何服务器上)。