需求:OC统计代码执行时间,单位为毫秒。
方案一:
使用NSDate的类方法date方法获取,精确到纳米。
double start = [[NSDate date] timeIntervalSince1970]*1000;
NSLog(@"start time= %f ", (start));
for (int i =0; i< 100000; i++);
double end = [[NSDate date] timeIntervalSince1970]*1000;
NSLog(@"end time= %f ", (end));
NSLog(@"use time =%f millisecond ", (end-start));
输出结果:
start time= 1426418215803.349121
end time= 1426418215803.789062
use time =0.439941 millisecond
方案二:
double start = CFAbsoluteTimeGetCurrent()*1000;
NSLog(@"start time =%f",start );
sleep(1);
double end = CFAbsoluteTimeGetCurrent()*1000;
NSLog(@"end time =%f",end );
NSLog(@"use time =%f millisecond ", (end-start));
输出结果
start time =448113226107.433960
end time =448113227112.819031
use time =1005.385071 millisecond
方案三:
1、定义宏
#define START NSDate *startTime = [NSDate date]
#define END NSLog(@"Time: %f", -[startTime timeIntervalSinceNow])
2、使用
START;
sleep(8);
//do your work here
END;
参考网址:
http://www.cocoachina.com/bbs/read.php?tid-36951-page-2.html
http://www.cocoachina.com/ios/20150320/11384.html