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