iOS获取一个方法的执行时间
- #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获取一个方法的执行时间的更多相关文章
- iOS 获取一个不变的UDID
原文:iOS7: 如何获取不变的UDID 如何使用KeyChain保存和获取UDID 本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不变UDID ...
- iOS获取电量方法
ios简单的方法: [UIDevice currentDevice].batteryMonitoringEnabled = YES; double deviceLevel = [UIDevice cu ...
- iOS 获取一个类的所有方法
#import <objc/runtime.h> #import <objc/message.h> 需要导入运行时头文件和消息发送文件 - (void)runTests { u ...
- IOS 获取农历方法(转)
声明:以下为使用iOS的 NSChineseCalendar 网上之前发现有人说这个方法不是完全准确,有些日期会显示的不对,本人没有验证过,也实在懒得用C++那套方法去实现. 另外我做的不过是个简单的 ...
- ios获取一个文件夹下的文件(夹)列表
NSArray* ary=[[NSFileManager defaultManager] contentsOfDirectoryAtPath:[[NSBundle mainBundle] pathFo ...
- Android 反射获取一个方法(方法的参数不一样)
private Method forget; private Method connect_netID; private Method connect_wifiConfig; private Meth ...
- C#在VS2005开发环境中利用异步模式来对一个方法的执行时间进行超时控制
using System.Threading; using System; namespace ConsoleApplication4 { public class Program { static ...
- 代理模式——用AOP测试业务层方法的执行时间
代理模式 对代理模式的理解,通过http://www.runoob.com/design-pattern/proxy-pattern.html 对AOP的代理模式,参考https://www.cnbl ...
- 详解C#泛型(二) 获取C#中方法的执行时间及其代码注入 详解C#泛型(一) 详解C#委托和事件(二) 详解C#特性和反射(四) 记一次.net core调用SOAP接口遇到的问题 C# WebRequest.Create 锚点“#”字符问题 根据内容来产生一个二维码
详解C#泛型(二) 一.自定义泛型方法(Generic Method),将类型参数用作参数列表或返回值的类型: void MyFunc<T>() //声明具有一个类型参数的泛型方法 { ...
随机推荐
- H264编码技术
H.264的目标应用涵盖了眼下大部分的视频服务,如有线电视远程监控.交互媒体.数字电视.视频会议.视频点播.流媒体服务等.H.264为解决不同应用中的网络传输的差异.定义了两层:视频编码层(VCL:V ...
- 未能载入文件或程序集“DAL”或它的某一个依赖项。系统找不到指定的文件。
这个一般出如今三层给B层与D层之间加抽象工厂-接口-映射.时候出的错.出错的地方是抽象工厂. --如图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTA ...
- c++11 之 decltype
在C++中,decltype作为操作符,用于查询表达式的数据类型.decltype在C++11标准制定时引入,主要是为泛型编程而设计,以解决泛型编程中,由于有些类型由模板参数决定,而难以(甚至不可能) ...
- 2.4 Git 基础 - 撤消操作
2.4 Git 基础 - 撤消操作 撤消操作 任何时候,你都有可能需要撤消刚才所做的某些操作.接下来,我们会介绍一些基本的撤消操作相关的命令.请注意,有些撤销操作是不可逆的,所以请务必谨慎小心,一旦失 ...
- XMLHttpRequest取得响应
RresponseText:获得字符串形式的响应数据 responseXML:获得XML形式的响应数据 status和statusText:以数字和文本形式返回HTTP状态码 getAllRespon ...
- js_day13
- Javascript进阶篇——(DOM—认识DOM、ByName、ByTagName)—笔记整理
认识DOM文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 将HTML代码分解 ...
- Java数据输入
以下是数据输入实例: //以下是数据输入实例 import java.util.Scanner;//导入java.util.Scanner,Scanner首字母大写 public class Test ...
- 如何在Visual studio中修改所使用C#语言的版本
有时候,我们需要在Visual studio里修改当前使用的C#语言的版本,具体修改方法如下:在solution explorer中右键工程->选择属性->切换到Build页->点击 ...
- HSSFClientAnchor(int dx1,int dy1,int dx2,int dy2,short col1,int row1,short col2, int row2)
public HSSFClientAnchor(int dx1, int dy1, int dx2, int dy2, short col1, int row1, short col2, int ...