【问题标题】:c++ quick read & write from standard inputc++ 从标准输入快速读写
【发布时间】:2013-07-10 00:32:53
【问题描述】:

如何提高在 c/c++ 代码中从标准输入(终端)读取和写入数据的速度?

我用:

ios::sync_with_stdio_false();

有什么方法可以更快地做到这一点吗?

【问题讨论】:

  • 您实际上是如何读取数据的?
  • 在不知道您当前在做什么的情况下很难提出改进建议。
  • 数据类型也是char[] & string。
  • 瓶颈真的是I/O组件,还是数据解析组件?
  • 瓶颈只是输入和输出。我只是想更快地做到这一点。

标签: c++ c performance


【解决方案1】:

std::cin.rdbuf()std::cout.rdbuf() 获取std::streambuf 引用。 (是的,即使用于输出,它仍然称为rdbuf。)iostream 中的大部分减速发生在格式化功能中。

您必须自己解析字节。

与任何与性能相关的事情一样,不要相信、假设或假设任何不是直接来自对真实数据集的运行分析。

顺便说一句,如果cincout 连接到任何类型的终端,所有赌注都将取消。 cout 生成的图形操作和 I/O 将在您的程序有机会运行之前使机器瘫痪,而对于 cin,您必须是一个非常快的打字员。

【讨论】:

    猜你喜欢
    • 2012-04-25
    • 2011-11-15
    • 1970-01-01
    • 2017-09-20
    • 1970-01-01
    • 2012-06-08
    • 2019-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多