2011-02-07 64 views
3

我使用两种不同的方式获取时间clock()和getLocalTime(),因为我希望CPU时间花费在我的进程上和挂钟时间花在这个过程上。目前我这样做:在处理上花费CPU时间与在处理问题上花费的世界时间C++

printf("CPU Time: %gms \n", (((double)(finish-start))/CLOCKS_PER_SEC)*1000.0); 
printf("Clock Time: %ldms \n", (end.sec-begin.sec)*1000+(end.msec-begin.msec)); 

但他们都给了我一样的确切结果! (运行约30秒),并且我知道CPU不会在这个过程中花费太多时间。我使用正确的功能吗?谢谢。

回答

1

在Unix系统上,CPU时间可以通过getrusage()来获得。

+0

现在我在Windows和它在Linux上工作的很好,我不知道为什么它不是”合作。 – 2011-02-07 20:34:07

0

clock()不适合便携式经过的时间。在windows下,它定义为返回经过的挂墙时间,在unix类型的系统上,它返回已用处理器时间。

我确定有必须是一个便携式解决方案,我不知道在哪里看。我会通过提升寻找一个开始。

1

没有真正的跨平台,但在Windows上,有两种可能性:

没有用他们自己,但我相信无论将给予相同的结果

相关问题