syk*_*yko 8 c++ linux performance multithreading measure
我在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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1678 次 |
| 最近记录: |