Actual source code: PLogEvent.c

petsc-3.6.4 2016-04-12
Report Typos and Errors
  2: #include <petscsys.h>
  3: #include <petsctime.h>

  7: int main(int argc,char **argv)
  8: {
  9:   PetscLogDouble x,y;
 10:   PetscLogEvent  e1;
 12:   PetscBool      flg;

 14:   PetscInitialize(&argc,&argv,0,0);
 15:   PetscLogEventRegister("*DummyEvent",0,&e1);
 16:   /* To take care of the paging effects */
 17:   PetscTime(&x);
 18:   PetscLogEventBegin(e1,&x,0,0,0);
 19:   PetscLogEventEnd(e1,&x,0,0,0);

 21:   PetscTime(&x);
 22:   /* 10 Occurences of the dummy event */
 23:   PetscLogEventBegin(e1,&x,0,0,0);
 24:   PetscLogEventEnd(e1,&x,0,0,0);
 25:   PetscLogEventBegin(e1,&x,&y,0,0);
 26:   PetscLogEventEnd(e1,&x,&y,0,0);
 27:   PetscLogEventBegin(e1,&y,0,0,0);
 28:   PetscLogEventEnd(e1,&y,0,0,0);
 29:   PetscLogEventBegin(e1,&x,0,0,0);
 30:   PetscLogEventEnd(e1,&x,0,0,0);
 31:   PetscLogEventBegin(e1,&x,&y,0,0);
 32:   PetscLogEventEnd(e1,&x,&y,0,0);
 33:   PetscLogEventBegin(e1,&y,0,0,0);
 34:   PetscLogEventEnd(e1,&y,0,0,0);
 35:   PetscLogEventBegin(e1,&x,0,0,0);
 36:   PetscLogEventEnd(e1,&x,0,0,0);
 37:   PetscLogEventBegin(e1,&x,&y,0,0);
 38:   PetscLogEventEnd(e1,&x,&y,0,0);
 39:   PetscLogEventBegin(e1,&y,0,0,0);
 40:   PetscLogEventEnd(e1,&y,0,0,0);
 41:   PetscLogEventBegin(e1,&x,&e1,0,0);
 42:   PetscLogEventEnd(e1,&x,&e1,0,0);

 44:   PetscTime(&y);
 45:   fprintf(stderr,"%-15s : %e sec, with options : ","PetscLogEvent",(y-x)/10.0);

 47:   PetscOptionsHasName(NULL,"-log",&flg);
 48:   if (flg) fprintf(stderr,"-log ");
 49:   PetscOptionsHasName(NULL,"-log_all",&flg);
 50:   if (flg) fprintf(stderr,"-log_all ");
 51:   PetscOptionsHasName(NULL,"-log_summary",&flg);
 52:   if (flg) fprintf(stderr,"-log_summary ");
 53:   PetscOptionsHasName(NULL,"-log_mpe",&flg);
 54:   if (flg) fprintf(stderr,"-log_mpe ");

 56:   fprintf(stderr,"\n");

 58:   PetscFinalize();
 59:   return(0);
 60: }