在新的C++代码中,我倾向于使用C++ iostream库而不是C stdio库.
我注意到一些程序员似乎坚持stdio,坚持认为它更便携.
这是真的吗?有什么好用的?
我被告知我的库比它应该慢,大约30+次解析特定文件(文本文件,大小326 kb)太慢.用户建议可能是我正在使用std::ifstream(大概是代替FILE).
我宁愿不盲目改写,所以我想我先在这里查看,因为我的猜测是其他地方的瓶颈.我读逐个字符,所以我使用的唯一的功能是get(),peek()和tellg()/seekg().
更新:
我描述了,并且输出令人困惑 - gprof似乎并没有想到花了这么长时间.我重写了程序,首先将整个文件读入缓冲区,然后加速大约100倍.我认为问题可能tellg()/seekg()是花了很长时间,但gprof可能由于某种原因无法看到.在任何情况下,即使对于此大小,ifstream也不会缓冲整个文件.