使用clock()

时间:2015-11-13 14:27:02

标签: c clock

我一直在尝试使用时钟功能测量C程序中经过的时间,但每当我尝试printf任何时钟值时,我都会回来0.例如:

    clock_t time1, time2;
    time1 = clock();
    printf("Time 1 is %d.\n", (int)time1);
    sleep(2);
    time2 = clock();
    printf("Time 2 is %d.\n", (int)time2);

在这两种情况下,time1和time2打印为0.我有一种感觉,因为我在printf中使用了错误的类型,但我看到的每种类型似乎都不适合我。我使用%Lf,%ld,%f。其他人可以在这里发现问题吗?

编辑:我尝试了此主题中提到的大多数类型:What’s the correct way to use printf to print a clock_t? 我甚至尝试过uintmax_t,但是没有打印p1和p2的能力,我不知道如何验证它是否是类型问题或者时钟没有返回足够的值。

1 个答案:

答案 0 :(得分:1)

来自cplusplus.com

  

时钟程序返回程序消耗的处理器时间。

     

返回的值以时钟周期表示,单位为   一个恒定但系统特定长度的时间(关系为   每秒CLOCKS_PER_SEC时钟滴答声。)

     

时钟用作参考的时代因系统而异,但确实如此   与程序执行有关(通常是它的启动)。计算   程序的实际处理时间,时钟返回的值   应与前一次调用返回的值进行比较   功能

基本上,如果你的计算时间太短,你就不会发现任何事情。

尝试添加一个从0到大的while循环并在其中增加一个volatile变量,然后再次调用driver.findElement(By.id("cc-sa-item-logo"))