首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加速GNU并行

加速GNU并行
EN

Stack Overflow用户
提问于 2013-10-02 00:19:42
回答 1查看 360关注 0票数 2

在一个包含47,000个条目(运行Cygwin的8核windows 7)的文件上运行以下代码需要24分钟:

代码语言:javascript
复制
cat File_Path.txt | parallel --progress --tag -j +0 'pdftotext {} 2>/dev/null - | wc -w;' > results.txt

我把File_Path.txt中的每一行从pdf转换成文本文件,并计算其中的单词。有什么办法可以在加工过程中刮掉时间吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-02 01:47:50

我在148个随机PDF文件上运行了你的脚本。这花费了41个cpu秒= 0.27个文件秒。所以,粗略估计一下,在一台8核机器上,你应该预期的时间是1700秒,这也是你所看到的。因此,我假设您在24分钟内看到了100%的CPU利用率。

GNU并行每个作业花费不到0.01秒,因此大部分时间用于运行pdftotext。因此,通过使用比pdftotext更快的工具,您将获得最大的收益。不幸的是,我不知道有这样一个工具。

-编辑--

如果您对其他服务器具有ssh访问权限,也可以使用它们的CPU。请参阅教程execution关于如何做到这一点。

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

https://stackoverflow.com/questions/19128100

复制
相关文章

相似问题

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