【发布时间】:2020-10-19 22:14:10
【问题描述】:
例如..如果我有。
#include <iostream>
using namespace std;
int main()
{
int counter = 0;
while (true)
{
cout << counter << endl;
counter++
}
}
假设我正在与其他计算机竞争数到 10 亿,这个循环的运行速度是否完全取决于计算机处理器的速度?或者我的程序运行速度是否有限制,可以更改?
【问题讨论】:
-
counter += 2;:) -
它的限制主要是因为输出每一行都很慢。通过不刷新每一行的流,它可以更快一点,这就是
endl所做的。您必须用换行符替换它。 -
尝试预先计算输出并在几次调用中打印出来。
-
将程序的输出通过管道传输到 /dev/null,这样终端(或其他输出窗口)的速度就不是一个因素。
-
C++ 更快,因为模板。示例:
qsort与std::sort
标签: c++ performance loops iostream