xref: /petsc/src/benchmarks/PetscTime.c (revision abdd934af67c1cc360c4d0cfcf2de16e188d627e)
1c6db04a5SJed Brown #include <petscsys.h>
2c6db04a5SJed Brown #include <petsctime.h>
3173c0623SSatish Balay 
main(int argc,char ** argv)4173c0623SSatish Balay int main(int argc, char **argv)
5173c0623SSatish Balay {
6b0a32e0cSBarry Smith   PetscLogDouble x, y;
7a438ae71SBarry Smith   int            i;
8173c0623SSatish Balay 
9*9566063dSJacob Faibussowitsch   PetscCall(PetscInitialize(&argc, &argv, 0, 0));
1098d6af09SSatish Balay   /* To take care of paging effects */
118563dfccSBarry Smith   PetscTime(&y);
12173c0623SSatish Balay 
1377c4ece6SBarry Smith   for (i = 0; i < 2; i++) {
148563dfccSBarry Smith     PetscTime(&x);
158563dfccSBarry Smith     PetscTime(&y);
168563dfccSBarry Smith     PetscTime(&y);
178563dfccSBarry Smith     PetscTime(&y);
188563dfccSBarry Smith     PetscTime(&y);
198563dfccSBarry Smith     PetscTime(&y);
208563dfccSBarry Smith     PetscTime(&y);
218563dfccSBarry Smith     PetscTime(&y);
228563dfccSBarry Smith     PetscTime(&y);
238563dfccSBarry Smith     PetscTime(&y);
248563dfccSBarry Smith     PetscTime(&y);
2535d8aa7fSBarry Smith     fprintf(stdout, "%-15s : %e sec\n", "PetscTime", (y - x) / 10.0);
2677c4ece6SBarry Smith   }
278563dfccSBarry Smith   PetscTime(&x);
28*9566063dSJacob Faibussowitsch   PetscCall(PetscSleep(10));
298563dfccSBarry Smith   PetscTime(&y);
3035d8aa7fSBarry Smith   fprintf(stdout, "%-15s : %e sec - Slept for 10 sec \n", "PetscTime", (y - x));
31*9566063dSJacob Faibussowitsch   PetscCall(PetscFinalize());
32b122ec5aSJacob Faibussowitsch   return 0;
33173c0623SSatish Balay }
34