Actual source code: PLogEvent.c


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

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

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

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

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

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

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

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