我正在使用低级I/O函数'write'在我的代码中将一些数据写入磁盘(Linux上的C语言).首先,我将数据累积在内存缓冲区中,然后在缓冲区已满时使用"write"将数据写入磁盘.那么'write'的最佳缓冲区大小是多少?根据我的测试,它不是越大越快,所以我在这里寻找答案.
假设我想在文件中写入1 GB的数据,比如说ext3使用write(2)系统调用的Linux文件系统,这种情况发生在一个非常繁忙的环境中(许多类似的I/O很简洁).什么是在区间的最佳缓冲区大小,说,[4 kB, 4 MB]这样做,当
O_DIRECT开放标志,或O_DIRECT?请不要"自己检查"答案 - 我想从"文件系统"人那里得到答案.