![](/img/trans.png)
[英]How can I measure CPU time and wall clock time on both Linux/Windows?
[英]How can I measure CPU time of a specific set of threads?
我在Linux中运行C ++程序。
有几个线程池(用于计算,用于io,用于......这样的事情)。
系统调用clock()为我提供了一种方法来测量所有CPU内核为进程花费的CPU时间。
但是,我想测量仅由计算线程池中的线程花费的CPU时间。
我怎样才能实现它?
感谢:D
要获取可以使用的每个线程的CPU clock ID
: pthread_getcpuclockid并使用此CPU clock ID
您可以使用: clock_gettime检索当前线程CPU时间。
以下是演示相同的示例代码:
struct timespec currTime;
clockid_t threadClockId;
//! Get thread clock Id
pthread_getcpuclockid(pthread_self(), &threadClockId);
//! Using thread clock Id get the clock time
clock_gettime(threadClockId, &currTime);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.