获取ios代码块运行时间

来源:互联网 发布:macbook卸载软件失败 编辑:程序博客网 时间:2024/05/22 16:00

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;

}

将此代码放入要使用的.m文件中,引用系统头文件 #import <mach/mach_time.h>

使用方法: 

CGFloat time = BNRTimeBlock(^{

        //需要获取时间的代码块

    });

time即为代码执行时间


        

    });

0 0