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倍. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- BootStrap智能表单实战系列(三)分块表单配置详解
- Fortran 77注释的语法突出显示在vim中不起作用
- twitter-bootstrap – 这些属性是什么:`aria-labelledby`和
- 正确使用scalaz Future进行异步执行
- ssh – bashrc没有加载到/ bin / bash shell中
- 深入redis内部之redis启动过程之二
- angularjs – 在Angular中,有没有理由不用模块声明列出模块
- angularjs – 指令在里面不工作是ng重复约束
- 全局访问根Angular 2注入器实例
- Angularjs 根据 一个select的值去设置另一个select的值