【发布时间】:2011-05-20 01:03:31
【问题描述】:
我正在将一个大型数字二维数组写入二进制文件(最终大小约为 75 MB)。
我在 linux 系统上执行此操作。首先,除了 fwrite 之外,还有没有更好的方法或系统调用来尽可能快地写入文件?
其次,如果我应该使用 fwrite,那么我应该将整个文件写为 1 个连续的行吗?
fwrite( buf, sizeof(float), 6700*6700, fp );
或者把它写成一系列的块
fwrite( buf, sizeof(float), 8192, fp );
fwrite( *(buf+8192), sizeof(float), 8192, fp );
....
如果我应该分块写作,每个块应该有多大?
【问题讨论】:
标签: c performance file-io