我知道这个问题可能以前经常被问过,但似乎大多数问题都是关于一段代码的经过时间(基于挂钟).一段代码的经过时间不太可能等于实际执行时间,因为其他进程可能在感兴趣的代码的经过时间期间执行.
我使用getrusage()来获取进程的用户时间和系统时间,然后通过(用户时间+系统时间)计算实际执行时间.我在Ubuntu上运行我的程序.这是我的问题:
我试图获取Ubuntu上进程消耗的CPU时间.据我所知,有两个函数可以完成这项工作:getrusage()和clock_gettime(CLOCK_PROCESS_CPUTIME_ID,&tp).在我的代码中,在clock_gettime(CLOCK_PROCESS_CPUTIME_ID,&tp)之后立即调用getrusage(),总是会得到不同的结果.
谁能帮助我了解哪个功能提供更高的分辨率,以及这些功能有哪些优点/缺点?
谢谢.