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