Blogs from the Ranch

< Back to Our Blog

How to Time


Aaron Hillegass

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 failedn");

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.


Aaron Hillegass

Not Happy with Your Current App, or Digital Product?

Submit your event

Let's Discuss Your Project

Let's Discuss Your Project