首页 > 代码库 > iOS获取一个方法的执行时间

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

 

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