Objective-C/iOS 获取方法的执行耗时

方法1——CFAbsoluteTime

CFAbsoluteTime startTime = CFAbsoluteTimeGetCurrent();

//这部分为需要统计时间的代码

CFAbsoluteTime endTime = (CFAbsoluteTimeGetCurrent() - startTime);

NSLog(@"方法耗时: %f ms", endTime * 1000.0);

方法2——NSDate

double start = [[NSDate date] timeIntervalSince1970]*1000;

//这部分为需要统计时间的代码

double end = [[NSDate date] timeIntervalSince1970]*1000;

NSLog(@"方法耗时: %f ms ", (end-start));

方法3——mach_absolute_time()

mach_timebase_info_data_t timebase;
mach_timebase_info(&timebase);

uint64_t start = mach_absolute_time();

//这部分为需要统计时间的代码

uint64_t end = mach_absolute_time();

uint64_t cost = (end - start) * timebase.numer / timebase.denom;
NSLog(@"方法耗时: %f ms",(CGFloat)cost / NSEC_PER_SEC * 1000.0);

需要导入头文件:

#import <mach/mach_time.h>

推荐阅读更多精彩内容