#import <Foundation/Foundation.h>
#import <mach/mach_time.h> typedef void (^block)(void); @interface FunctionRunTime : NSObject + (CGFloat)runTimeBlock:(block)block; @end #import "FunctionRunTime.h" @implementation FunctionRunTime + (CGFloat)runTimeBlock:(block)block
{
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 @end // 使用
CGFloat time= [FunctionRunTime runTimeBlock:^{
for (int i = ; i < ; i++) {
}];
NSLog ("time: %f\n", time);

iOS获取一个方法的执行时间的更多相关文章

  1. iOS 获取一个不变的UDID

    原文:iOS7: 如何获取不变的UDID 如何使用KeyChain保存和获取UDID 本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不变UDID ...

  2. iOS获取电量方法

    ios简单的方法: [UIDevice currentDevice].batteryMonitoringEnabled = YES; double deviceLevel = [UIDevice cu ...

  3. iOS 获取一个类的所有方法

    #import <objc/runtime.h> #import <objc/message.h> 需要导入运行时头文件和消息发送文件 - (void)runTests { u ...

  4. IOS 获取农历方法(转)

    声明:以下为使用iOS的 NSChineseCalendar 网上之前发现有人说这个方法不是完全准确,有些日期会显示的不对,本人没有验证过,也实在懒得用C++那套方法去实现. 另外我做的不过是个简单的 ...

  5. ios获取一个文件夹下的文件(夹)列表

    NSArray* ary=[[NSFileManager defaultManager] contentsOfDirectoryAtPath:[[NSBundle mainBundle] pathFo ...

  6. Android 反射获取一个方法(方法的参数不一样)

    private Method forget; private Method connect_netID; private Method connect_wifiConfig; private Meth ...

  7. C#在VS2005开发环境中利用异步模式来对一个方法的执行时间进行超时控制

    using System.Threading; using System; namespace ConsoleApplication4 { public class Program { static ...

  8. 代理模式——用AOP测试业务层方法的执行时间

    代理模式 对代理模式的理解,通过http://www.runoob.com/design-pattern/proxy-pattern.html 对AOP的代理模式,参考https://www.cnbl ...

  9. 详解C#泛型(二) 获取C#中方法的执行时间及其代码注入 详解C#泛型(一) 详解C#委托和事件(二) 详解C#特性和反射(四) 记一次.net core调用SOAP接口遇到的问题 C# WebRequest.Create 锚点“#”字符问题 根据内容来产生一个二维码

    详解C#泛型(二)   一.自定义泛型方法(Generic Method),将类型参数用作参数列表或返回值的类型: void MyFunc<T>() //声明具有一个类型参数的泛型方法 { ...

随机推荐

  1. 基于css制作轮播图的部分效果

    在轮播图中,我们可以通过鼠标在特定位置上的滑动来实现元素背景的改变.通常在制作轮播图时,我们首先想到的是js中的交互.可是,如果我们无法使用js,只能单纯的靠css又该如何实现这一效果呢?下面,本人将 ...

  2. (转)iOS Wow体验 - 第一章 - iOS人机界面设计规范纵览

    本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第一章译文精选,其余章节将陆续放出. 关于本套译文 ...

  3. Oracle—RMAN备份(三)

    一.增量备份的相关概念 1. 在前面说明了RMAN的完整备份,完整备份是备份所用使用过的块,不备份没有使用的过的块:增量备份只备份自上次备份以来更改过的块. 2.即使RMAN的默认操作是在增量备份时扫 ...

  4. 线程、线程句柄、线程ID

     什么是句柄:句柄是一种指向指针的指针.我们知道,所谓指针是一种内存地址.应用程序启动后,组成这个程序的各对象是住留在内存的.如果简单地理解,似乎我们只要获知这个内存的首地址,那么就可以随时用这个地址 ...

  5. Request.Params用法

    使用Request.Params["id"]来获取参数是一种比较有效的途径.有三种方式可以进行参数传递:(1). Form (2). ?id= (3).cookierequest. ...

  6. table细线

    table { border-collapse: collapse; } table td { border: 1px solid #CCCCCC; }

  7. 未能加载文件或程序集 system.data.sqlite 完美解决

    错误提示如下图所示: 解决办法: 使用SQLITE 预编译的静态链接DLL 下载地址:http://pan.baidu.com/s/1kT5i8bP

  8. 定义block块

    一: 工程图 二: 代码区 AppDelegate.h #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <U ...

  9. [转载]Git常用命令

    转载自: Git常用命令 Git配置 git config --global user.name "robbin" git config --global user.email & ...

  10. android单选按钮选择,RadioGroup,radioButton

    android单选按钮选择,RadioGroup,radioButton 14. 四 / android基础 / 没有评论   单选布局绑定 如何识别选择