How to Time
I was asked three times last week how I find how long an activity takes on the Mac and the iPhone. Here is the most accurate method that I know of:
#import <mach/mach_time.h> uint64_t start = mach_absolute_time(); // do stuff to be timed uint64_t end = mach_absolute_time(); uint64_t elapsed = end - start; mach_timebase_info_data_t info; if (mach_timebase_info (&info) != KERN_SUCCESS) { printf ("mach_timebase_info failed/n"); } uint64_t nanosecs = elapsed * info.numer / info.denom; uint64_t millisecs = nanosecs / 1000000;
As you use this, remember that the elapsed time for a given function will vary with the load the system is under.