首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++资料操作有没有快速写入的方法

2013-07-09 
C++文件操作有没有快速写入的方法?我写入700条数据,用了10秒。这速度让我汗颜了。。。。[解决办法]在文件大小相

C++文件操作有没有快速写入的方法?
C++资料操作有没有快速写入的方法我写入700条数据,用了10秒。这速度让我汗颜了。。。。
[解决办法]
在文件大小相同的前提下:
 读刚读过的文件比头次读没读过的文件快
 读转速快的硬盘上的文件比读转速慢的硬盘上的文件快
 读没有磁盘碎片的文件比读有磁盘碎片的文件快
 读文件不处理比边读边处理快
 单线程从头到尾一次读文件比多线程分别读文件各部分快(非固态硬盘上)
 读固态硬盘上的文件比读普通硬盘上的文件快

写和读类似,会略有不同。
[解决办法]

引用:
在文件大小相同的前提下:
 读刚读过的文件比头次读没读过的文件快
 读转速快的硬盘上的文件比读转速慢的硬盘上的文件快
 读没有磁盘碎片的文件比读有磁盘碎片的文件快
 读文件不处理比边读边处理快
 单线程从头到尾一次读文件比多线程分别读文件各部分快(非固态硬盘上)
 读固态硬盘上的文件比读普通硬盘上的文件快

写和读类似,会略有不同。

++
多线程的优势在计算上,在磁盘,大概只有服务器,才可能比较好;
因为PC得 磁盘操作,可能是串行化的,即使读写不同两块磁盘。


[解决办法]
文件读写耗时都耗在调用函数上。真正的读写操作不是很大的数据(比如一次上百兆的)不会有这么夸张的。怎样减少调用次数才是关键。
[解决办法]
引用:
把这700条数据一次性写入不就行了。


正解,如果不是实时性要求比较高的写入(如日志),建议先缓存一些再写入。时间都耗在IO操作上了
[解决办法]
显然是你代码的问题。。。。。。。
我用c++写上GB的数据也就几十秒而已。。。

热点排行