Android框架中cpp方法所花费的时间

时间:2012-09-17 09:48:26

标签: android c++ c execution-time

如何在Android框架中获得C ++方法的执行时间?

当天的gettime或者系统时间调用是否合适?

我不希望计时器自己花费额外的时间,我宁愿想要该方法所花费的确切时间(可以通过在方法的开始和结束时插入开始和结束时间然后采取差)。

2 个答案:

答案 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;
}