xref: /petsc/src/benchmarks/PLogEvent.c (revision d5b43468fb8780a8feea140ccd6fa3e6a50411cc)
1 
2 #include <petscsys.h>
3 #include <petsctime.h>
4 
5 int main(int argc,char **argv)
6 {
7   PetscLogDouble x,y;
8   PetscLogEvent  e1;
9   PetscBool      flg;
10 
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));
17 
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));
40 
41   PetscCall(PetscTime(&y));
42   fprintf(stderr,"%-15s : %e sec, with options : ","PetscLogEvent",(y-x)/10.0);
43 
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 ");
52 
53   fprintf(stderr,"\n");
54 
55   PetscCall(PetscFinalize());
56   return 0;
57 }
58