我将从只读二进制文件中进行随机访问读取。 ifstream的接口似乎比filebuf简单;但有没有任何用例,filebuf会提供更好的性能?
更多细节:我有一个固定长度(48字节)记录的文件,并将按顺序进行随机访问读取 - 读取1条记录,处理,读取1条记录(来自其他地方),进程,。 ...(遍历一棵树。)文件永远不会改变。由于记录是固定长度的,我以后可能会使用48字节记录的“字符类型”,但我认为这没有任何性能影响。
答案 0 :(得分:0)
可能如果你在Linux上可能正在使用mmap会解决一点一点地读取文件的整个问题。
或者提升内存映射文件? http://www.boost.org/doc/libs/1_52_0/libs/iostreams/doc/classes/mapped_file.html