iOS获取一个方法的执行时间
来源:互联网 发布:气球升级数据 编辑:程序博客网 时间:2024/05/16 05:45
最后在做一个应用的时候,从电话本时读出数据,如果电话很多,就需要比较长的时间,于是如果能得到每个方法的执行时间,就可以知道代码优化的地方。
在网上看到了一个比较好的方法来获取执行时间。看代码
- #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;
- } // BNRTimeBlock
- #define LOOPAGE 10000000
- #import "BNRTimeBlock.h"
- int main (void) {
- CGFloat time;
- NSString *thing1 = @"hi";
- NSString *thing2 = @"hello there";
- time = BNRTimeBlock(^{
- for (int i = 0; i < LOOPAGE; i++) {
- [thing1 isEqual: thing2];
- }
- });
- printf ("isEqual: time: %f\n", time);
- time = BNRTimeBlock(^{
- for (int i = 0; i < LOOPAGE; i++) {
- [thing1 isEqualToString: thing2];
- }
- });
- printf ("isEqualToString: time: %f\n", time);
- return 0;
- } // main
来自:http://weblog.bignerdranch.com/?p=316
还有一个: http://www.fieryrobot.com/blog/2010/07/10/a-watchdog-timer-in-gcd/
- iOS获取一个方法的执行时间
- iOS获取一个方法的执行时间【转】
- iOS获取一个方法的执行时间
- 精确获取一个方法的执行时间
- 获取函数的执行时间的方法
- 获取程序执行时间的两种方法
- 一个测试任务并发执行时间的方法
- 获取执行时间的宏
- iOS 获取一个类的所有方法
- iOS 获取一个类的所有方法
- linux获取进程执行时间方法
- unity获取某个方法执行时间
- 用简单的方法获取Oracle语句的执行时间
- 获取页面执行时间的几种方法(asp.net)
- 获取页面执行时间的几种方法(asp.net)
- C/C++获取程序执行时间的五个方法对比
- 在Unity3D中获取某个方法的执行时间
- springboot中通过aop的形式获取方法执行时间
- android 中属性设置
- SQL Server 2008 分区函数和分区表详解
- C语言运算符优先级
- 第二周结构体实践项目一程序报告
- Android中常见android.view.WindowManager$BadTokenException错误
- iOS获取一个方法的执行时间
- vs2012快捷键
- 在DOS下使用注册表编辑器
- ispostback
- VC-终止线程,ExitThread函数,Te r m i n a t e T h r e a d函数,撤消线程,详解
- 9.2.1(矩形嵌套_最长子序列方法)
- qt4-arm通用配置单(转)
- UDP广播与多播
- VB.net SQL语句不区分大小写,以及空格的问题