GNU并行:-k(保持输出顺序)会影响速度吗



正如标题中所说,我想知道-k选项是否(强烈(影响GNU并行的速度。

man parallel_tutorial中,有一个关于--ungroup--line-buffer的讨论,它声称对输出线进行解混合的--linebuffer--ungroup慢得多。那么,当工作数量很大时,-k可能也会导致严重的放缓?

(我在man parallelman parallel_tutorial中没有找到这个主题;在谷歌上也没有找到任何内容。不过我还没有完成man parallel,所以如果我错过了一些搜索较少的内容,请原谅。(

-k不会减慢任何速度,但它需要为每个作业提供4个文件句柄。如果GNU并行程序用完了文件句柄,它将等待其中一个正在运行的作业完成。

-u相比,-g每个作业的速度减慢约1-2毫秒(加上从磁盘写入和读回输出所需的时间(,因此只有在运行非常短的作业或输出量很大的作业时,速度才会明显减慢。

CCD_ 14可以比CCD_。它不在磁盘上缓冲,但运行需要更多的CPU时间,尤其是在作业输出数据缓慢的情况下。

我的建议是使用最容易使用的,只有在速度太慢的情况下,才考虑其他选项。

最新更新