使用Objective-C 计算代码运行时间

简介:

第一种:(最简单的NSDate)

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

第二种:(将运行代码放入下面的Block中,返回时间)

#import <mach/mach_time.h>  // for mach_absolute_time() and friends  
  
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;  
}

第三种:

/**
 * 计算脚本时间
 * @param $last 最后一次的运行clock
 * @param $key  标识
 * @return 当前clock
 */
double t(double last, char* key){
    clock_t now = clock();
    printf("time:%fs \t key:%s \n", (last != 0) ? (double)(now - last) / CLOCKS_PER_SEC : 0, key);
    return now;
}

double t1 = t(0, "");
//do something
t(t1, "end");

相关文章
|
5月前
|
JSON 监控 iOS开发
使用局域网监控软件进行Objective-C代码调试
使用局域网监控软件辅助Objective-C调试,包括设置断点和日志记录,例如在`sayHello`方法中添加调试信息。通过监控网络流量,如发送GET请求,捕获和分析数据包以理解应用行为。监控数据可自动提交到网站进行进一步分析,例如使用POST请求将数据发送至指定URL。此方法有助于优化代码并提供调试洞察。
90 0
|
6月前
|
缓存 开发工具 iOS开发
优化iOS中Objective-C代码调起支付流程的速度
优化iOS中Objective-C代码调起支付流程的速度
102 2
|
iOS开发 HTML5 移动开发
Xcode 中 Objective-C 代码的样式哪种更标准的对比分析
Xcode 中 Objective-C 代码的样式哪种更标准的对比分析 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
870 0