#include #include #include #include #include //Raw mach_absolute_times going in, difference in seconds out double subtractTimes( uint64_t endTime, uint64_t startTime ) { uint64_t difference = endTime - startTime; static double conversion = 0.0; if( conversion == 0.0 ) { mach_timebase_info_data_t info; kern_return_t err = mach_timebase_info( &info ); //Convert the timebase into seconds if( err == 0 ) conversion = 1e-9 * (double) info.numer / (double) info.denom; } return conversion * (double) difference; } int main() { int i, j, count; uint64_t start,stop; double current = 0.0; double answer = 0.0; double elapsed = 0.0; int dim1 = 256; int dim2 = 256; int size = 4*dim1*dim2; //Allocate some memory and warm it up double *array = (double*)malloc(size*sizeof(double)); for(i=0;i