繁体   English   中英

并行分割文本和进程

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM