![](/img/trans.png)
[英]How to split files up and process them in parallel and then stitch them back? unix
[英]Split up text and process in parallel
我有一个程序可以生成很多(太字节)的输出并将其发送到stdout。
我想分割输出并与另一个程序的一堆实例并行处理它。 它可以以任何方式分发,只要线条保持完整即可。
Parallel可以执行此操作,但它需要固定数量的行并在此之后重新启动过滤器进程:
./relgen | parallel -l 100000 -j 32 --spreadstdin ./filter
有没有办法保持一定数量的进程运行并在它们之间分配数据?
-l
对性能没有好处。 如果可能,请使用--block
。
你可以有分布轮转的数据: --roundrobin
。
./relgen | parallel --block 3M --round-robin -j 32 --pipe ./filter
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.