Sav*_*btz 10
精简版.
这取决于.在x86缓冲区大小为4096字节是一个很好的开始(一页大小和高级格式块大小).
更长的版本.
在UNIX中,它依赖于内核,libc,文件系统,硬件等.不仅适用于版本和编译选项,还适用于运行时可调参数(例如,预读设置).
DIY.
测试一下!有关确定一个特定系统的最佳读写缓冲区大小的直接方法,请参见UNIX环境中的高级编程第3.9章"I/O效率".
第一:当然,磁盘逻辑/物理扇区大小的倍数,您可以使用 hdparm 检查。这是一样的
提示:libc fopen(3)、fread(3)、fwrite(3)等函数已经为您做了一些很好的缓冲。
另一个提示:如果您不需要流式传输整个文件,而是随机访问其中的某些部分,您可以尝试mmap()使用它。