Actual source code: PLogEvent.c
petsc-3.4.5 2014-06-29
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: }