探寻C++最快的读取文件的方案std::ios::sync_with_stdio(false) (转)(二)

2014-11-23 23:36:41 · 作者: · 浏览: 9
台/时间(秒) Linux gcc Windows mingw Windows VC2008
scanf 2.010 3.704 3.425
cin 6.380 64.003 19.208
cin取消同步 2.050 6.004 19.616
fread 0.290 0.241 0.304
read
0.290 0.398 不支持
mmap 0.250 不支持 不支持
Pascal read 2.160 4.668
从上面可以看出几个问题
Linux平台上运行程序普遍比Windows上快。
Windows下VC编译的程序一般运行比MINGW(MINimal Gcc for Windows)快。
VC对cin取消同步与否不敏感,前后效率相同。反过来MINGW则非常敏感,前后效率相差8倍。
read本是linux 系统函数,MINGW可能采用了某种模拟方式,read比fread更慢。
Pascal程序运行速度实在令人不敢恭维。