I/O处理中的算法和编程技巧
本人最近在做实验中要求对超大文档进行处理,两个文档都有近20G左右。这两个文档是我
在linux下生成的,生成时仅用了1个小时,语言为c,是个开源的程序。
但是本人把数据拷贝 到windows下用c++标准库中的fstream类对文件进行修正,形成最终
我需要的格式的文件,其过程大致为:
ifstream reader;
ofstream writer;
string word;
while(reader>>word)
{
if(word 符合我们的要求)
writer<<word;
}
reader.close();
writer.close();
没有用其它什么技术,多线程啊什么都没有用。所以我处理其中一个20G文件用了12个小时
。哭啊,跳楼的心都有...怎么差距这么大呢?
(注:linux那台机器的配置比windows稍高一点,但是不多...)
还有就是我的这个处理程序内存占用只有512k,但是cpu总是狂飙的98%,有什么办法可以
把cpu的占用率降下来呢?
在文件操作的时候有没有什么值得注意的地方啊?有什么资料讲述这方面的编程算法和技
巧的没?比如博客啊,书籍啊,论文啊 ...
小弟不胜感激...
--