1b620a312SSatish Balay #ifdef PETSC_RCS_HEADER 2*3a40ed3dSBarry Smith static char vcid[] = "$Id: PetscGetCPUTime.c,v 1.1 1997/07/23 16:22:44 balay Exp bsmith $"; 3b620a312SSatish Balay #endif 4b620a312SSatish Balay 5b620a312SSatish Balay #include "petsc.h" 6b620a312SSatish Balay 7b620a312SSatish Balay int main( int argc, char **argv) 8b620a312SSatish Balay { 9b620a312SSatish Balay PLogDouble x, y; 10b620a312SSatish Balay long int i,j,A[100000]; 11b620a312SSatish Balay 12b620a312SSatish Balay PetscInitialize(&argc, &argv,0,0); 13b620a312SSatish Balay /* To take care of paging effects */ 14b620a312SSatish Balay y = PetscGetCPUTime(); 15b620a312SSatish Balay 16b620a312SSatish Balay for ( i=0; i<2; i++ ) { 17b620a312SSatish Balay x = PetscGetCPUTime(); 18b620a312SSatish Balay 19b620a312SSatish Balay /* 20b620a312SSatish Balay Do some work for at least 1 ms. Most CPU timers 21b620a312SSatish Balay cannot measure anything less than that 22b620a312SSatish Balay */ 23b620a312SSatish Balay 24b620a312SSatish Balay for (j=0; j<20000*(i+1); j++) { 25b620a312SSatish Balay A[j]=i+j; 26b620a312SSatish Balay } 27b620a312SSatish Balay y = PetscGetCPUTime(); 28b620a312SSatish Balay fprintf(stderr,"%-15s : %e sec\n","PetscGetCPUTime", (y-x)/10.0); 29b620a312SSatish Balay } 30b620a312SSatish Balay 31b620a312SSatish Balay PetscFinalize(); 32*3a40ed3dSBarry Smith PetscFunctionReturn(0); 33b620a312SSatish Balay } 34