[问题] C/C++读档速度

楼主: lemonsheep (柠檬羊)   2016-11-05 10:39:27
开发平台(Platform): (Ex: Win10, Linux, ...)
Code::block
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
GCC
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
想请问一下一个问题 就是在做档案操作的时候一次读入一行会比一次只读一行的某部分来的快吗
例如说档案中的资料是这样的形式 m666 666 3111....(很多组数字)
这样直接用getline一次读一行会比用fin>>m>>666>>666>>3111(分别存在不同变量)快吗?
我感觉直接全部getline进来似乎是有快上一些
但是读进来之后在处理资料的时候 我又使用了stringstream 这样整个处理完的结果好像依然没有比较快
对读档I/O这块非常没有概念 想知道有没有神么比较快的方式,感谢~
作者: longlongint (华哥尔)   2016-11-05 11:33:00
编译有加 -O2吗选 release build然后 stringstream 很慢没错C风格的读档在某些平台上会更快 字串处理可以自己写 或用strtok 或 string split 做 但是 我认为改用 release build 在大部分情况应该够用了
作者: james732 (好人超)   2016-11-05 11:50:00
如果档案不是非常巨大,我会一口气全读进来再操作
作者: EdisonX (卡卡兽)   2016-11-05 12:22:00
作者: Yshuan (倚絃)   2016-11-05 15:44:00
记得fgets是最快 但buffer size必须先估好

Links booklink

Contact Us: admin [ a t ] ucptt.com