首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在并行化代码时,xargs和gnu并行有何不同?

在并行化代码时,xargs和gnu并行有何不同?
EN

Stack Overflow用户
提问于 2020-06-22 17:24:30
回答 1查看 477关注 0票数 4

这是一个基本的问题。我很好奇,在并行化代码时,xargs和gnu并行有什么不同?

有没有这样的用例,你会使用其中一种而不是另一种?

我之所以这样问,是因为我已经看到了并行化问题的答案,在这些问题中,使用这两种工具都被社区认为是可以接受的。

EN

回答 1

Stack Overflow用户

发布于 2020-06-22 19:15:18

上介绍了一些不同之处:https://www.gnu.org/software/parallel/parallel_alternatives.html#DIFFERENCES-BETWEEN-xargs-AND-GNU-Parallel

Tl;dr: xargs更快,因为几乎没有任何开销(与GNU Parallel的~3ms/job相比,约为0.3ms/job)。GNU并行更安全,因为它采取了各种预防措施,所以您不需要担心(例如,并行运行的两个作业的输出不会混合)。GNU并行有很多xargs没有的特性。GNU并行需要Perl,而xargs不需要。xargs无处不在,GNU Parallel要求您使用--embed来确保它无处不在。

因此,一般来说:如果主要考虑的是避免开销(例如,如果您的作业每次运行都需要几毫秒)或避免安装Perl (例如,如果您的系统是嵌入式的,因此资源紧张),那么使用xargs (并根据您的输入/输出采取相关的预防措施)。

完全公开:我对GNU Parallel有既得利益。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62511239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档