小编nof*_*lls的帖子

GNU 并行过慢

我需要运行grep几百万个文件。因此,我尝试按照此处提到两种方法加快速度:xargs -P -nGNU parallel。我在我的文件子集(数量为 9026)上尝试了这个,结果如下:

  1. 随着xargs -P 8 -n 1000,非常快:

    $ time find tex -maxdepth 1 -name "*.json" | \
                    xargs -P 8 -n 1000 grep -ohP "'pattern'" > /dev/null
    
    real    0m0.085s
    user    0m0.333s
    sys     0m0.058s
    
    Run Code Online (Sandbox Code Playgroud)
  2. 随着parallel,非常慢:

    $ time find tex -maxdepth 1 -name "*.json" | \
                    parallel -j 8 grep -ohP "'pattern'" > /dev/null
    
    real    0m21.566s
    user    0m22.021s
    sys     0m18.505s
    
    Run Code Online (Sandbox Code Playgroud)
  3. 甚至顺序xargsparallel: …

grep xargs gnu-parallel

5
推荐指数
1
解决办法
2243
查看次数

标签 统计

gnu-parallel ×1

grep ×1

xargs ×1