我正在寻找高性能/ bin / sort drop替代品.我知道pbzip2使用多个内核,但是/ bin / sort有类似的产品吗?
我找到了distsort.sh,但我想要一些不那么IO密集的东西.我想要非常频繁地排序哦.. 60 gig的数据.
解决方法
GNU sort有-m可能会帮助你.假设您有200个.gz文件要排序和组合.然后你可以使用GNU Parallel来做:
seq 1 200 | parallel mkfifo /tmp/{} ls *.gz | nice parallel -j200 'zcat {} | sort >/tmp/$PARALLEL_SEQ' & seq 1 200 | parallel -X sort -m /tmp/{} >/tmp/sorted
如果I / O是问题并且内存不是问题,则使用-S进行第一次排序以确保所有内容都保留在内存中.此外,您可能希望每次写入磁盘时都使用lzop(–compress-program = lzop):磁盘通常是限制因素,因此在运行中lzopping可以为您提供额外的速度.或者你可以制作一个RAM磁盘并将-T设置为该目录.