码迷,mamicode.com
首页 > 移动开发 > 详细

iOS获取一个方法的执行时间

时间:2014-10-24 14:33:56      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   os   ar   使用   for   sp   

#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 = 0; i < 1000; i++) {
 }];
NSLog ("time: %f\n", time);

 

iOS获取一个方法的执行时间

标签:style   blog   color   io   os   ar   使用   for   sp   

原文地址:http://www.cnblogs.com/joesen/p/4048081.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!