C++ 0x RValue引用或其他功能会对流性能产生影响吗?

Kla*_*aim 9 c++ iostream c++11

大量的分析表明,当需要性能(速度)时,C++流不是执行文件或文本字符串操作的最佳方式.尽管如此,标准流仍然是保证类型安全的好方法.

根据我的阅读,大部分问题是因为流实现必须1)创建/复制许多小对象2)完全通用(不管理char和wchar的方式相同吗?)等.

无论如何,我在想,也许某些C++ 0x会允许实现者至少限制对象创建/复制,也许还有其他功能可以允许其他性能改进,也许允许达到printf()性能?

有直接影响吗?或者我们是否必须等待新的实施?或者我们还需要一个新的(类似STL)流库吗?

Ben*_*igt 3

您可能对我的问题中的一些性能比较感兴趣。即使是 C++ 标准库流 API 中的最低级函数在常见实现下也非常慢,并且查看 Visual C++ 类的源代码stringbuf,我没有看到小型临时对象的复制。所以右值引用不太可能有太大帮助。

AFAICT,C++ iostreams 缓慢的主要原因是库开发人员坚持认为 I/O 是瓶颈,因此担心 I/O 库的性能是没有意义的。但 I/O 绝对不是瓶颈。