我一直在尝试使用时钟功能测量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的能力,我不知道如何验证它是否是类型问题或者时钟没有返回足够的值。
答案 0 :(得分:1)
时钟程序返回程序消耗的处理器时间。
返回的值以时钟周期表示,单位为 一个恒定但系统特定长度的时间(关系为 每秒CLOCKS_PER_SEC时钟滴答声。)
时钟用作参考的时代因系统而异,但确实如此 与程序执行有关(通常是它的启动)。计算 程序的实际处理时间,时钟返回的值 应与前一次调用返回的值进行比较 功能
基本上,如果你的计算时间太短,你就不会发现任何事情。
尝试添加一个从0到大的while循环并在其中增加一个volatile变量,然后再次调用driver.findElement(By.id("cc-sa-item-logo"))
。