繁体   English   中英

如何测量特定线程集的CPU时间?

[英]How can I measure CPU time of a specific set of threads?

我在Linux中运行C ++程序。

有几个线程池(用于计算,用于io,用于......这样的事情)。

系统调用clock()为我提供了一种方法来测量所有CPU内核为进程花费的CPU时间。

但是,我想测量仅由计算线程池中的线程花费的CPU时间。

我怎样才能实现它?

感谢:D

要获取可以使用的每个线程的CPU clock IDpthread_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM