相关疑难解决方法(0)

如何让IOStream表现更好?

大多数学习C的C++用户都喜欢使用printf/ scanf系列函数,即使他们使用C++进行编码也是如此.

虽然我承认我发现接口方式更好(特别是类似POSIX的格式和本地化),但似乎压倒性的关注是性能.

看看这个问题:

如何加快逐行读取文件的速度

似乎最好的答案是使用fscanf并且C++的ifstream速度始终慢2-3倍.

我认为如果我们能够编译一个"技巧"存储库以提高IOStream的性能,哪些有效,哪些无效,我会觉得很棒.

要考虑的要点

  • 缓冲(rdbuf()->pubsetbuf(buffer, size))
  • 同步(std::ios_base::sync_with_stdio)
  • 区域设置处理(我们可以使用修剪后的区域设置,还是完全删除它?)

当然,欢迎其他方法.

注意:提到了Dietmar Kuhl的"新"实现,但我无法找到有关它的许多细节.以前的引用似乎是死链接.

c++ optimization iostream c++-faq c++-standard-library

62
推荐指数
2
解决办法
3万
查看次数