==================================================
uint64_t nanos = mach_absolute_time (); 是纳秒
将 纳秒转为秒 :(CGFloat)nanos / NSEC_PER_SEC; 将 纳秒转为秒
CACurrentMediaTime(); // 是秒
==================================================
CGFloat ComputeTimeBlock (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;
CGFloat test = (CGFloat)nanos / NSEC_PER_SEC;
return test;
}
CGFloat ComputeTimeBlock2 (void (^block)(void)) {
mach_timebase_info_data_t info;
if (mach_timebase_info(&info) != KERN_SUCCESS) return -1.0;
uint64_t start = CACurrentMediaTime(); // 此时是秒
block ();
uint64_t end = CACurrentMediaTime();
uint64_t elapsed = end - start;
return elapsed;
}