5

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

man parallel_tutorial有一个关于 and 的讨论,--ungroup--line-buffer声称将--linebuffer输出线分解,比 . 慢得多--ungroup。那么,当工作数量很大时,也许-k还会导致大幅放缓?

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

4

1 回答 1

8

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

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

--line-buffer可以更快,也可以比 慢-g。它不在磁盘上缓冲,但运行需要更多 CPU 时间——尤其是当您的作业输出数据缓慢时。

我的建议是使用对你来说最容易使用的东西,并且只有在证明太慢时,才考虑其他选项。

于 2014-05-10T08:03:50.620 回答