在一个包含47,000个条目(运行Cygwin的8核windows 7)的文件上运行以下代码需要24分钟:
cat File_Path.txt | parallel --progress --tag -j +0 'pdftotext {} 2>/dev/null - | wc -w;' > results.txt我把File_Path.txt中的每一行从pdf转换成文本文件,并计算其中的单词。有什么办法可以在加工过程中刮掉时间吗?
发布于 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关于如何做到这一点。
https://stackoverflow.com/questions/19128100
复制相似问题