1*b0a32e0cSBarry Smith /*$Id: PetscGetCPUTime.c,v 1.7 2000/01/11 21:03:44 bsmith Exp bsmith $*/ 2b620a312SSatish Balay 3b620a312SSatish Balay #include "petsc.h" 4b620a312SSatish Balay 55a655dc6SBarry Smith #undef __FUNC__ 65a655dc6SBarry Smith #define __FUNC__ "main" 7b620a312SSatish Balay int main(int argc,char **argv) 8b620a312SSatish Balay { 9*b0a32e0cSBarry Smith PetscLogDouble x,y; 10d3093643SSatish 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 */ 14d3093643SSatish Balay ierr = PetscGetCPUTime(&y);CHKERRA(ierr); 15b620a312SSatish Balay 16b620a312SSatish Balay for (i=0; i<2; i++) { 17d3093643SSatish 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 } 27d3093643SSatish 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