1*b4d8b9abSSatish Balay /*$Id: PetscGetCPUTime.c,v 1.11 2001/03/23 23:25:45 balay Exp balay $*/ 2b620a312SSatish Balay 3b620a312SSatish Balay #include "petsc.h" 4b620a312SSatish Balay 54a2ae208SSatish Balay #undef __FUNCT__ 64a2ae208SSatish Balay #define __FUNCT__ "main" 7b620a312SSatish Balay int main(int argc,char **argv) 8b620a312SSatish Balay { 9b0a32e0cSBarry 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 */ 14ac355199SBarry Smith ierr = PetscGetCPUTime(&y);CHKERRQ(ierr); 15b620a312SSatish Balay 16b620a312SSatish Balay for (i=0; i<2; i++) { 17ac355199SBarry Smith ierr = PetscGetCPUTime(&x);CHKERRQ(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 } 27ac355199SBarry Smith ierr = PetscGetCPUTime(&y);CHKERRQ(ierr); 28*b4d8b9abSSatish Balay fprintf(stdout,"%-15s : %e sec\n","PetscGetCPUTime",(y-x)/10.0); 29b620a312SSatish Balay } 30b620a312SSatish Balay 312b7fea2aSSatish Balay ierr = PetscFinalize();CHKERRQ(ierr); 323a40ed3dSBarry Smith PetscFunctionReturn(0); 33b620a312SSatish Balay } 34