打印方法运行时间

方法一

NSDate* tmpStartData = [NSDate date];
//Your code here...
double deltaTime = [[NSDate date] timeIntervalSinceDate:tmpStartData];
NSLog(@"cost time = %f seconds", deltaTime);

方法二

CFAbsoluteTime start = CFAbsoluteTimeGetCurrent();
//Your code here...
CFAbsoluteTime end = CFAbsoluteTimeGetCurrent();
NSLog(@"cost time = %f seconds", end - start);

方法三

//获取的是开机到当前的时间
CFTimeInterval start = CACurrentMediaTime();
//Your code here...
CFTimeInterval end = CACurrentMediaTime();
NSLog(@"cost time = %f seconds", end - start);

方法四
添加单元测试,在单元测试方法中添加代码,按Command+U运行测试,控制台会打印出方法运行耗时

- (void)testPerformanceExample {
    // This is an example of a performance test case.
    [self measureBlock:^{
        // Put the code you want to measure the time of here.
    }];
}

区别总结:
1. NSDate 与 CFAbsoluteTimeGetCurrent() 等效,返回的时钟时间将会和网络时间同步
2. CACurrentMediaTime() 是基于内建时钟的,能够更精确更原子化地测量,并且不会因为外部时间变化而变化(例如时区变化、夏时制、秒突变等)

参考文章:
Objective-C 计算代码运行时间
iOS OC 计算代码执行耗时
NSDate 、CFAbsoluteTimeGetCurrent、CACurrentMediaTime 的区别

你可能感兴趣的:(打印方法运行时间)