C++ 检查conhost打印所需的时间
我有一个布尔数组,每个代表一个数字。我正在使用for循环打印每个C++ 检查conhost打印所需的时间,c++,cout,large-data,C++,Cout,Large Data,我有一个布尔数组,每个代表一个数字。我正在使用for循环打印每个true:for(unsigned long l=0;l试试这个: #include <windows.h> ... int main() { //init code double startTime = GetTickCount(); //your loop double timeNeededinSec = (GetTickCount() - startTime) / 1000.
true
:for(unsigned long l=0;l试试这个:
#include <windows.h>
...
int main() {
//init code
double startTime = GetTickCount();
//your loop
double timeNeededinSec = (GetTickCount() - startTime) / 1000.0;
}
#包括
...
int main(){
//初始化代码
double startTime=GetTickCount();
//你的循环
double timeneedInSec=(GetTickCount()-startTime)/1000.0;
}
只是为了防御ctime,因为它给出了与GetTickCount相同的结果:
#include <ctime>
int main()
{
...
clock_t start = clock();
...
clock_t end = clock();
double timeNeededinSec = static_cast<double>(end - start) / CLOCKS_PER_SEC;
...
}
#包括
int main()
{
...
时钟启动=时钟();
...
clock_t end=clock();
double TimeneedInSec=静态(结束-开始)/时钟每秒;
...
}
更新:
和带有time()的一个(),但在这种情况下,我们可能会损失一些精度(~1秒),因为结果是秒
#include <ctime>
int main()
{
time_t start;
time_t end;
...
time(&start);
...
time(&end);
int timeNeededinSec = static_cast<int>(end-start);
}
#包括
int main()
{
时间没有开始;
时间不会结束;
...
时间(&开始);
...
时间(&结束);
int timeNeededinSec=静态_转换(结束-开始);
}
在一个简单的例子中结合这两种方法将向您展示结果的差异。在我的测试中,我只看到了一个点一个点的差异。我实际上还没有尝试一种解决方案@HansPassant。我在问如何等待conhost完成其所有值的打印。