项目中经常需要统计调用一个外部接口的耗时,在做性能测试时也常需要分析N次调用所需时间,这类统计有一个共性点,即关注调用或执行的相对时间,而不关心绝对时间。 因此,为了性能起见,无需每次都调用gettimeofday,而只需读取系统的时间戳计数器中时间即可。
代码路径如下:http://modulecall.googlecode.com/svn/trunk/tar/modulecall.tar
类代码如下所示:
使用方式也很简单,下面是一个demo
有一点要注意的是,这里timecost得到的时间是毫秒,如果要取微秒也是可以的,只需要修改下tsc.h和tsc.cpp即可。这里即毫秒的原因是对于外部接口调用而言,时间开销一般在毫秒级,所以精度不需要那么准确。