Actual source code: PLogEvent.c

  1: #include <petscsys.h>
  2: #include <petsctime.h>

  4: int main(int argc,char **argv)
  5: {
  6:   PetscLogDouble x,y;
  7:   PetscLogEvent  e1;
  8:   PetscBool      flg;

 10:   PetscCall(PetscInitialize(&argc,&argv,0,0));
 11:   PetscLogEventRegister("*DummyEvent",0,&e1);
 12:   /* To take care of the paging effects */
 13:   PetscCall(PetscTime(&x));
 14:   PetscCall(PetscLogEventBegin(e1,&x,0,0,0));
 15:   PetscCall(PetscLogEventEnd(e1,&x,0,0,0));

 17:   PetscCall(PetscTime(&x));
 18:   /* 10 Occurrences of the dummy event */
 19:   PetscCall(PetscLogEventBegin(e1,&x,0,0,0));
 20:   PetscCall(PetscLogEventEnd(e1,&x,0,0,0));
 21:   PetscCall(PetscLogEventBegin(e1,&x,&y,0,0));
 22:   PetscCall(PetscLogEventEnd(e1,&x,&y,0,0));
 23:   PetscCall(PetscLogEventBegin(e1,&y,0,0,0));
 24:   PetscCall(PetscLogEventEnd(e1,&y,0,0,0));
 25:   PetscCall(PetscLogEventBegin(e1,&x,0,0,0));
 26:   PetscCall(PetscLogEventEnd(e1,&x,0,0,0));
 27:   PetscCall(PetscLogEventBegin(e1,&x,&y,0,0));
 28:   PetscCall(PetscLogEventEnd(e1,&x,&y,0,0));
 29:   PetscCall(PetscLogEventBegin(e1,&y,0,0,0));
 30:   PetscCall(PetscLogEventEnd(e1,&y,0,0,0));
 31:   PetscCall(PetscLogEventBegin(e1,&x,0,0,0));
 32:   PetscCall(PetscLogEventEnd(e1,&x,0,0,0));
 33:   PetscCall(PetscLogEventBegin(e1,&x,&y,0,0));
 34:   PetscCall(PetscLogEventEnd(e1,&x,&y,0,0));
 35:   PetscCall(PetscLogEventBegin(e1,&y,0,0,0));
 36:   PetscCall(PetscLogEventEnd(e1,&y,0,0,0));
 37:   PetscCall(PetscLogEventBegin(e1,&x,&e1,0,0));
 38:   PetscCall(PetscLogEventEnd(e1,&x,&e1,0,0));

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

 43:   PetscCall(PetscOptionsHasName(NULL,"-log",&flg));
 44:   if (flg) fprintf(stderr,"-log ");
 45:   PetscCall(PetscOptionsHasName(NULL,"-log_all",&flg));
 46:   if (flg) fprintf(stderr,"-log_all ");
 47:   PetscCall(PetscOptionsHasName(NULL,"-log_view",&flg));
 48:   if (flg) fprintf(stderr,"-log_view ");
 49:   PetscCall(PetscOptionsHasName(NULL,"-log_mpe",&flg));
 50:   if (flg) fprintf(stderr,"-log_mpe ");

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

 54:   PetscCall(PetscFinalize());
 55:   return 0;
 56: }