加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

unix – 排序大型二进制文件

发布时间:2020-12-15 18:37:11 所属栏目:安全 来源:网络整理
导读:是否有Unix实用程序用于排序包含固定长度二进制记录的大文件? 换句话说,我正在寻找类似sort(1)的东西,但是对于具有固定长度记录的二进制文件. 我可以将文件转换为文本,然后使用sort(1)排序,然后转换回二进制表示,但我正在寻找更多时间和空间效率的东西. 结
是否有Unix实用程序用于排序包含固定长度二进制记录的大文件?

换句话说,我正在寻找类似sort(1)的东西,但是对于具有固定长度记录的二进制文件.

我可以将文件转换为文本,然后使用sort(1)排序,然后转换回二进制表示,但我正在寻找更多时间和空间效率的东西.

结果证明你很幸运;有一个GNU样式的unix程序就是这样做的: bsort.

bsort是一种超高效的inplace radix排序实现,在处理大于ram的文件时要特别注意内存访问模式.高效率我的意思是从2014年中期开始能够最好地利用http://sortbenchmark.org的2014年节能10 ^ 8记录排序 – 记录为889焦耳,其早期原型能够在一台股票macbook pro上以335焦耳排序.对于完全适合ram(三位数兆字节)的“小”数据集,它比libc的qsort库快约3倍.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读