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

#import <mach/mach_time.h> // for mach_absolute_time() and friends
 
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;
 
} // BNRTimeBlock
 
 
来自:http://weblog.bignerdranch.com/316-a-timing-utility/
posted @ 2012-05-09 15:35  harvey.ding  阅读(1252)  评论(0)    收藏  举报