是否有Unix实用程序用于排序包含固定长度二进制记录的大文件?
换句话说,我正在寻找类似sort(1)的东西,但是对于具有固定长度记录的二进制文件.
我可以将文件转换为文本,然后使用sort(1)排序,然后转换回二进制表示,但我正在寻找更多时间和空间效率的东西.
结果证明你很幸运;有一个GNU样式的unix程序就是这样做的:
bsort.
原文链接:https://www.f2er.com/bash/385791.htmlbsort是一种超高效的inplace radix排序实现,在处理大于ram的文件时要特别注意内存访问模式.高效率我的意思是从2014年中期开始能够最好地利用http://sortbenchmark.org的2014年节能10 ^ 8记录排序 – 记录为889焦耳,其早期原型能够在一台股票macbook pro上以335焦耳排序.对于完全适合ram(三位数兆字节)的“小”数据集,它比libc的qsort库快约3倍.