ios 计算方法执行的时间

转自:http://jordy.easymorse.com/?p=856#more-856


ios开发中,有时我们需要考虑方法执行的时间来做优化,比方查找数据库的方法(需要知道查找数据的时间),具体的计算方法如下:

1、新建一个文件:CalculateRunTime.h  代码:

@interface CalculateRunTime : NSObject

CGFloat BUNRTimeBlock (void (^block)(void));

@end

CalculateRunTime.m  代码

#import <mach/mach_time.h>

@implementation CalculateRunTime

CGFloat BNRTimeBlock (void (^block)(void)) { 

    mach_timebase_info_data_t info;  

    if (mach_timebase_info(&info) != KERN_SUCCESS) return -1.0;  

    

    uint64_t start = mach_absolute_time ();    //开始时间

    block ();

    uint64_t end = mach_absolute_time ();     //结束时间

    uint64_t elapsed = end - start;  

    uint64_t nanos = elapsed * info.numer / info.denom;  

    return (CGFloat)nanos / NSEC_PER_SEC;   

}

2、使用方法,首先引用文件

CGFloat time;

time = BNRTimeBlock (^{

    //这里执行你的代码

});

你可能感兴趣的:(ios 计算方法执行的时间)