我正在使用两种不同的方式来获取时钟()和getLocalTime(),因为我想要花费在我的进程上的CPU时间和花在此进程上的挂钟时间。目前我这样做:
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没有在这个过程上花费那么多时间。我使用的是正确的功能吗?感谢。
答案 0 :(得分:1)
在Unix系统上,可以通过getrusage()获得CPU时间。
答案 1 :(得分:1)
没有真正的跨平台,但在Windows上有两种可能性:
我自己没有使用它们,但我相信两者都会给出相同的结果
答案 2 :(得分:0)
clock()
不适合便携式使用时间。在windows下,它被定义为返回经过的墙上时间,在unix类型系统上,它返回经过的处理器时间。
我确定必须是一个便携式解决方案,我不知道在哪里看。我会通过提升开始追捕。