CLOCKS_PER_SEC不匹配std :: clock()的结果(CLOCKS_PER_SEC Not Matching Results From std::clock())
我正在使用以下短程序来测试std::clock() :
#include <ctime> #include <iostream> int main() { std::clock_t Begin = std::clock(); int Dummy; std::cin >> Dummy; std::clock_t End = std::clock(); std::cout << "CLOCKS_PER_SEC: " << CLOCKS_PER_SEC << "\n"; std::cout << "Begin: " << Begin << "\n"; std::cout << "End: " << End << "\n"; std::cout << "Difference: " << (End - Begin) << std::endl; }但是,在等待几秒钟输入“虚拟”值后,我得到以下输出:
CLOCKS_PER_SEC: 1000000 Begin: 13504 End: 13604 Difference: 100这显然没有多大意义。 无论等待多久,差异总是在100左右。
我错过了什么? 是否有一些我忘记包含的标题?
我使用Xcode和GCC 4.2。
I'm using the following short program to test std::clock():
#include <ctime> #include <iostream> int main() { std::clock_t Begin = std::clock(); int Dummy; std::cin >> Dummy; std::clock_t End = std::clock(); std::cout << "CLOCKS_PER_SEC: " << CLOCKS_PER_SEC << "\n"; std::cout << "Begin: " << Begin << "\n"; std::cout << "End: " << End << "\n"; std::cout << "Difference: " << (End - Begin) << std::endl; }However, after waiting several seconds to input the "dummy" value, I get the following output:
CLOCKS_PER_SEC: 1000000 Begin: 13504 End: 13604 Difference: 100This obviously doesn't make much sense. No matter how long I wait, the difference is always somewhere around 100.
What am I missing? Is there some header I forgot to include?
I'm using Xcode with GCC 4.2.
最满意答案
clock()计算CPU时间,因此如果它坐在等待输入的位置,它不会增加任何时间。
clock() counts CPU time, so it's not adding any time if it's sitting around waiting for input.
更多推荐
发布评论