xref: /petsc/src/benchmarks/PLogEvent.c (revision b122ec5aa1bd4469eb4e0673542fb7de3f411254)
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   CHKERRQ(PetscInitialize(&argc,&argv,0,0));
12   PetscLogEventRegister("*DummyEvent",0,&e1);
13   /* To take care of the paging effects */
14   CHKERRQ(PetscTime(&x));
15   CHKERRQ(PetscLogEventBegin(e1,&x,0,0,0));
16   CHKERRQ(PetscLogEventEnd(e1,&x,0,0,0));
17 
18   CHKERRQ(PetscTime(&x));
19   /* 10 Occurrences of the dummy event */
20   CHKERRQ(PetscLogEventBegin(e1,&x,0,0,0));
21   CHKERRQ(PetscLogEventEnd(e1,&x,0,0,0));
22   CHKERRQ(PetscLogEventBegin(e1,&x,&y,0,0));
23   CHKERRQ(PetscLogEventEnd(e1,&x,&y,0,0));
24   CHKERRQ(PetscLogEventBegin(e1,&y,0,0,0));
25   CHKERRQ(PetscLogEventEnd(e1,&y,0,0,0));
26   CHKERRQ(PetscLogEventBegin(e1,&x,0,0,0));
27   CHKERRQ(PetscLogEventEnd(e1,&x,0,0,0));
28   CHKERRQ(PetscLogEventBegin(e1,&x,&y,0,0));
29   CHKERRQ(PetscLogEventEnd(e1,&x,&y,0,0));
30   CHKERRQ(PetscLogEventBegin(e1,&y,0,0,0));
31   CHKERRQ(PetscLogEventEnd(e1,&y,0,0,0));
32   CHKERRQ(PetscLogEventBegin(e1,&x,0,0,0));
33   CHKERRQ(PetscLogEventEnd(e1,&x,0,0,0));
34   CHKERRQ(PetscLogEventBegin(e1,&x,&y,0,0));
35   CHKERRQ(PetscLogEventEnd(e1,&x,&y,0,0));
36   CHKERRQ(PetscLogEventBegin(e1,&y,0,0,0));
37   CHKERRQ(PetscLogEventEnd(e1,&y,0,0,0));
38   CHKERRQ(PetscLogEventBegin(e1,&x,&e1,0,0));
39   CHKERRQ(PetscLogEventEnd(e1,&x,&e1,0,0));
40 
41   CHKERRQ(PetscTime(&y));
42   fprintf(stderr,"%-15s : %e sec, with options : ","PetscLogEvent",(y-x)/10.0);
43 
44   CHKERRQ(PetscOptionsHasName(NULL,"-log",&flg));
45   if (flg) fprintf(stderr,"-log ");
46   CHKERRQ(PetscOptionsHasName(NULL,"-log_all",&flg));
47   if (flg) fprintf(stderr,"-log_all ");
48   CHKERRQ(PetscOptionsHasName(NULL,"-log_view",&flg));
49   if (flg) fprintf(stderr,"-log_view ");
50   CHKERRQ(PetscOptionsHasName(NULL,"-log_mpe",&flg));
51   if (flg) fprintf(stderr,"-log_mpe ");
52 
53   fprintf(stderr,"\n");
54 
55   CHKERRQ(PetscFinalize());
56   return 0;
57 }
58