【问题标题】:How to calculate clock ticks of only the current process (including all thread)如何仅计算当前进程(包括所有线程)的时钟滴答
【发布时间】:2014-10-01 17:28:57
【问题描述】:

一切尽在标题中。

在 time.h 中:

C库函数clock_t clock(void)返回时钟数 自程序启动以来经过的滴答声

但是对于操作系统的当前进程还是所有进程?

谢谢。

【问题讨论】:

  • 那么如何知道程序的实际时间。耗时取决于其他程序,而不是当前程序...
  • 对不起,错误的功能。 clock 返回当前进程的近似处理器时间(以时钟滴答为单位)。所以它只适用于进程调用clock
  • 什么意思?我不明白这个问题。
  • 有一些特定于操作系统的功能可以为您提供此类信息。每当您询问操作系统特定的问题时,您当然应该提及您使用的内容。并假设您不是第一个提出此类问题的 SO 用户。
  • 近似值,因为调度程序在对进程的经过时间求和时无法考虑部分时钟节拍。但是,从统计上来说,误差应该是平均的。

标签: c time process clock


【解决方案1】:

谢谢isedev。 这实际上是当前进程的近似时钟滴答。

clock_t t;
t = clock();
printf ("Calculating...\n");
float u = 0;
for(int i = 0 ; i < 1000000 ; i++)
    u += sqrt(i);
printf("%f", u);
t = clock() - t;
printf ("%d clock ticks elapsed\n%f ms elapsed.\n", t, ((float) t)/CLOCKS_PER_SEC/1000);

【讨论】:

    猜你喜欢
    • 2015-05-14
    • 1970-01-01
    • 2021-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多