jq的--slurp选项的内存使用情况

时间:2016-01-13 22:39:15

标签: jq

--slurp选项在处理之前是否将整个输入加载到内存中,或者为了避免这种情况而以某种方式对其进行了优化?

1 个答案:

答案 0 :(得分:2)

问题的答案基本上是"是"。命令如" jq --slurp。文件...."将解析的输入存储为内存中的数组。这通常需要比输入本身大小更多的内存 - 例如考虑将JSON对象存储为哈希表。

对于jq 1.5,通常有更好的选择,而不是" slurping"输入。最值得注意的是,inputs过滤器可能与reduceforeach非常吻合。 (如果您使用inputs,那么请不要忘记您可能想要使用" -n"选项调用jq。)