我正在写一个大型数值2维数组到二进制文件(最终大小〜75 MB)。fwrite和写入大小的性能
我在linux系统上这样做。首先,除了fwrite之外,还有更好的方法或系统调用来尽可能快地写入文件吗?其次,如果我应该使用fwrite,那么我应该只将整个文件写为1个连续的行吗?
fwrite(buf, sizeof(float), 6700*6700, fp);
或写为一系列块
fwrite(buf, sizeof(float), 8192, fp);
fwrite(*(buf+8192), sizeof(float), 8192, fp);
....
,如果我要一块写的,有多大应该每块呢?
我同意。我见过的唯一比标准fwrite()更好的文件是fwrite()到/ dev/shm上的一个文件:-) – Christoffer 2010-12-03 23:38:34