【发布时间】:2011-02-16 13:18:54
【问题描述】:
我想计算完成循环所需的时间。
我会这样做:
ptime before = second_clock::local_time(); //get current time
cout << "Started: "<< before << " ... processing ...";
while(foo) {
....
}
ptime after = second_clock::local_time(); // get Current time
cout << "Processing took" << after - before;
这将输出:Started: "some time"
然后我等待循环完成,然后才能看到“...处理中...”
这是为什么呢?它应该首先 cout 整个文本,然后进入循环。
如果我将第一个 cout 更改为:
cout
它甚至没有显示循环结束前的时间。
这是我见过的最奇怪的事情......我对加速时间的理解似乎有问题。
我在我的代码中也使用了 boost::threads,但是工人是在循环中产生的,所以我看不出这与这个问题有什么关系。
有人可以帮我吗?
【问题讨论】: