如何在Android框架中获得C ++方法的执行时间?
当天的gettime或者系统时间调用是否合适?
我不希望计时器自己花费额外的时间,我宁愿想要该方法所花费的确切时间(可以通过在方法的开始和结束时插入开始和结束时间然后采取差)。
答案 0 :(得分:1)
自我解释代码段:
#include <sys/time.h>
struct timeval start, end, diff;
::gettimeofday(&start, NULL);
function(); // Whose Execution time to measure
::gettimeofday(&end, NULL);
timersub(&end, &start, &diff);
diff.tv_sec - 给你秒和
diff.tv_usec - 给你微秒
我建议link: High Precision Timing ...作为参考。
答案 1 :(得分:0)
例如,这将以毫秒为单位返回当前时间,因此您可以在方法的开头和方法的末尾调用它并计算差异。它适用于Android原生层
#include <time.h>
uint64_t ticks_ms()
{
timeval t;
gettimeofday(&t, 0);
return static_cast<uint64_t>(t.tv_sec) * 1000 + t.tv_usec / 1000;
}