我有一个大的xml需要处理以提取少量信息。我找到了两个可以解析xml tag-by-tag的包。这两个包是:xml-flow和node-xml
我需要一个包加载一部分xml文件并执行操作的包。由于性能将取决于内存中加载的文件量(我想要更小),我正在寻找一种方法来测量在运行过程中。如何以更简单的方式分析内存?
我发现的一个解决方案是在代码中使用process.memoryUsage()来评估代码执行期间运行时使用的内存。
使用xml-flow时,我收到的一些统计信息是:
info 2017-05-18 12:48:56 [0.449] [5] memory Usage::: { rss: 57266176, heapTotal: 38379872, heapUsed: 24424120 }
info 2017-05-18 12:48:57 [0.928] [61] memory Usage::: { rss: 76079104, heapTotal: 56954720, heapUsed: 20295616 }
info 2017-05-18 12:48:57 [1.133] [111] memory Usage::: { rss: 76558336, heapTotal: 56954720, heapUsed: 32516896 }
使用node-xml,统计数据为:
info 2017-05-18 12:42:11 [0.462] [8] memory Usage::: { rss: 59572224, heapTotal: 39674208, heapUsed: 24561832 }
info 2017-05-18 12:42:12 [0.761] [74] memory Usage::: { rss: 77697024, heapTotal: 58249056, heapUsed: 20546824 }
info 2017-05-18 12:42:12 [0.848] [114] memory Usage::: { rss: 78032896, heapTotal: 58249056, heapUsed: 28871592 }