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