如何获取函数执行时间

dahaiI0 2011-06-16 10:13:29
SystemClock.uptimeMillis().,2次时间相减可以大概得到一个函数的执行时间,如何封装成一个函数funtion,在其他函数中调用funtion就能得到这个函数的执行时间
...全文
600 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fontlose 2011-06-16
  • 打赏
  • 举报
回复
一般知道函数原型和你定义的函数指针一致,正确传入参数就不会有问题,
用构造函数和析构函数那还不是要2个函数做?
dahaiI0 2011-06-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fontlose 的回复:]
可以阿 c比较方便用函数指针,将函数地址和函数参数传入 在计算函数了调用测试函数
如CalcFuncTime( void (*fun)(void*),void* param )
{
//记录当前tick
(*fun)(param);//调用函数
//计算函数运行时间
}

java的话改改就可以了

CalcFuncTime(YourObject obj,YourP……
[/Quote]
楼上的,如果用C++,只需要定义一个对象,在其构造函数和析构函数里调用2次gettickcount,相减都能得出执行时间,而且(*fun)(param)如果是系统调用的,自己手工调用不会有问题么?android不清楚,至少VC里有些函数是不能自己手动去调用的
fontlose 2011-06-16
  • 打赏
  • 举报
回复
可以阿 c比较方便用函数指针,将函数地址和函数参数传入 在计算函数了调用测试函数
如CalcFuncTime( void (*fun)(void*),void* param )
{
//记录当前tick
(*fun)(param);//调用函数
//计算函数运行时间
}

java的话改改就可以了

CalcFuncTime(YourObject obj,YourParam param )
{
//记录当前tick
obj.Func(param);//调用函数
//计算函数运行时间
}
ch_984326013 2011-06-16
  • 打赏
  • 举报
回复
在调用函数之前与之后,分别获得当前时间!然后相减就行了,至于获取当前时间的函数可以用如下方法:

long time=System.currentTimeMillis();

wuyu637 2011-06-16
  • 打赏
  • 举报
回复
别偷懒了。封装成2个函数比较容易。
fontlose 2011-06-16
  • 打赏
  • 举报
回复
c/c++可以用宏定义将整个函数调用做为参数传入实现, java没宏定义 那没法了.
dahaiI0 2011-06-16
  • 打赏
  • 举报
回复
但我在调用的时候不需要,而且也不需要传参数,完全独立的一个函数,甚至只定义一个对象都可以,按你说的连构造和析构也算的话,那计算时间不也是?

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧