1b620a312SSatish Balay #ifdef PETSC_RCS_HEADER 2*d3093643SSatish Balay static char vcid[] = "$Id: PetscGetCPUTime.c,v 1.2 1997/10/19 03:30:47 bsmith Exp balay $"; 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; 10*d3093643SSatish Balay long int i,j,A[100000],ierr; 11b620a312SSatish Balay 12b620a312SSatish Balay PetscInitialize(&argc, &argv,0,0); 13b620a312SSatish Balay /* To take care of paging effects */ 14*d3093643SSatish Balay ierr = PetscGetCPUTime(&y); CHKERRA(ierr); 15b620a312SSatish Balay 16b620a312SSatish Balay for ( i=0; i<2; i++ ) { 17*d3093643SSatish Balay ierr = PetscGetCPUTime(&x); CHKERRA(ierr); 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 } 27*d3093643SSatish Balay ierr = PetscGetCPUTime(&y); CHKERRA(ierr); 28b620a312SSatish Balay fprintf(stderr,"%-15s : %e sec\n","PetscGetCPUTime", (y-x)/10.0); 29b620a312SSatish Balay } 30b620a312SSatish Balay 31b620a312SSatish Balay PetscFinalize(); 323a40ed3dSBarry Smith PetscFunctionReturn(0); 33b620a312SSatish Balay } 34