xref: /petsc/src/benchmarks/PLogEvent.c (revision 0a26283d1301e05d8f755acbfd4e3dbe54316b6b)
1 #include "stdio.h"
2 #include "petsc.h"
3 
4 int main( int argc, char **argv)
5 {
6   double x, y;
7   int e1, flg;
8 
9   PetscInitialize(&argc, &argv,0,0,0);
10   PLogEventRegister(&e1,"*DummyEvent     ", "red");
11   /* To take care of the paging effects */
12   PLogEventBegin(e1,&x,0,0,0);
13   PLogEventEnd(e1,&x,0,0,0);
14   x = PetscGetTime();
15 
16   x = PetscGetTime();
17   /* 10 Occurences of the dummy event */
18   PLogEventBegin(e1,&x,0,0,0);
19   PLogEventEnd(e1,&x,0,0,0);
20   PLogEventBegin(e1,&x,&y,0,0);
21   PLogEventEnd(e1,&x,&y,0,0);
22   PLogEventBegin(e1,&y,0,0,0);
23   PLogEventEnd(e1,&y,0,0,0);
24   PLogEventBegin(e1,&x,0,0,0);
25   PLogEventEnd(e1,&x,0,0,0);
26   PLogEventBegin(e1,&x,&y,0,0);
27   PLogEventEnd(e1,&x,&y,0,0);
28   PLogEventBegin(e1,&y,0,0,0);
29   PLogEventEnd(e1,&y,0,0,0);
30   PLogEventBegin(e1,&x,0,0,0);
31   PLogEventEnd(e1,&x,0,0,0);
32   PLogEventBegin(e1,&x,&y,0,0);
33   PLogEventEnd(e1,&x,&y,0,0);
34   PLogEventBegin(e1,&y,0,0,0);
35   PLogEventEnd(e1,&y,0,0,0);
36   PLogEventBegin(e1,&x,&e1,0,0);
37   PLogEventEnd(e1,&x,&e1,0,0);
38 
39   y = PetscGetTime();
40   fprintf(stderr,"%-15s : %e sec , with options : ","PLogEvent",(y-x)/10.0);
41 
42   if(OptionsHasName(PETSC_NULL,"-log",&flg),flg) fprintf(stderr,"-log ");
43   if(OptionsHasName(PETSC_NULL,"-log_all",&flg),flg) fprintf(stderr,"-log_all ");
44   if(OptionsHasName(PETSC_NULL,"-log_summary",&flg),flg) fprintf(stderr,"-log_summary ");
45   if(OptionsHasName(PETSC_NULL,"-log_mpe",&flg),flg) fprintf(stderr,"-log_mpe ");
46 
47   fprintf(stderr,"\n");
48 
49   PetscFinalize();
50   return 0;
51 }
52