如何提高gnu parallel从压缩流中读取的效率?

如何提高gnu parallel从压缩流中读取的效率?

另一个问题是否是从上一个问题延伸出来的[1]

我有一个压缩文件并将它们流式传输到python程序中,例如

bzcat data.bz2 | parallel --no-notice -j16 --pipe python parse.py > result.txt

parse.py 可以连续从 stdin 读取并打印到 stdout

我的 ec2 实例有 16 个核心,但是从 top 命令来看,它仅显示 3 到 4 的平均负载。

ps,我看到了很多类似的东西......

sh -c 'dd bs=1 count=1 of=/tmp/7D_YxccfY7.chr 2>/dev/null';       

我知道我可以使用改进-a in.txt来提高性能,但就我的情况而言,我是从 bz2 流式传输的(我无法精确执行,因为我没有足够的磁盘空间)

如何提高我的案件处理效率?

[1]Gnu parallel 没有利用所有 CPU

答案1

增加块大小:

--block 100m

相关内容