xref: /petsc/src/benchmarks/PLogEvent.c (revision abdd934af67c1cc360c4d0cfcf2de16e188d627e)
1c6db04a5SJed Brown #include <petscsys.h>
28563dfccSBarry Smith #include <petsctime.h>
3173c0623SSatish Balay 
main(int argc,char ** argv)4173c0623SSatish Balay int main(int argc, char **argv)
5173c0623SSatish Balay {
6b0a32e0cSBarry Smith   PetscLogDouble x, y;
7166c7f25SBarry Smith   PetscLogEvent  e1;
8ace3abfcSBarry Smith   PetscBool      flg;
9173c0623SSatish Balay 
10*9566063dSJacob Faibussowitsch   PetscCall(PetscInitialize(&argc, &argv, 0, 0));
118cbcd9ccSBarry Smith   PetscLogEventRegister("*DummyEvent", 0, &e1);
1298d6af09SSatish Balay   /* To take care of the paging effects */
13*9566063dSJacob Faibussowitsch   PetscCall(PetscTime(&x));
14*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventBegin(e1, &x, 0, 0, 0));
15*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventEnd(e1, &x, 0, 0, 0));
16173c0623SSatish Balay 
17*9566063dSJacob Faibussowitsch   PetscCall(PetscTime(&x));
18a5b23f4aSJose E. Roman   /* 10 Occurrences of the dummy event */
19*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventBegin(e1, &x, 0, 0, 0));
20*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventEnd(e1, &x, 0, 0, 0));
21*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventBegin(e1, &x, &y, 0, 0));
22*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventEnd(e1, &x, &y, 0, 0));
23*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventBegin(e1, &y, 0, 0, 0));
24*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventEnd(e1, &y, 0, 0, 0));
25*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventBegin(e1, &x, 0, 0, 0));
26*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventEnd(e1, &x, 0, 0, 0));
27*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventBegin(e1, &x, &y, 0, 0));
28*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventEnd(e1, &x, &y, 0, 0));
29*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventBegin(e1, &y, 0, 0, 0));
30*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventEnd(e1, &y, 0, 0, 0));
31*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventBegin(e1, &x, 0, 0, 0));
32*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventEnd(e1, &x, 0, 0, 0));
33*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventBegin(e1, &x, &y, 0, 0));
34*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventEnd(e1, &x, &y, 0, 0));
35*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventBegin(e1, &y, 0, 0, 0));
36*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventEnd(e1, &y, 0, 0, 0));
37*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventBegin(e1, &x, &e1, 0, 0));
38*9566063dSJacob Faibussowitsch   PetscCall(PetscLogEventEnd(e1, &x, &e1, 0, 0));
39173c0623SSatish Balay 
40*9566063dSJacob Faibussowitsch   PetscCall(PetscTime(&y));
41b4d8b9abSSatish Balay   fprintf(stderr, "%-15s : %e sec, with options : ", "PetscLogEvent", (y - x) / 10.0);
42173c0623SSatish Balay 
43*9566063dSJacob Faibussowitsch   PetscCall(PetscOptionsHasName(NULL, "-log", &flg));
448caf3d72SBarry Smith   if (flg) fprintf(stderr, "-log ");
45*9566063dSJacob Faibussowitsch   PetscCall(PetscOptionsHasName(NULL, "-log_all", &flg));
468caf3d72SBarry Smith   if (flg) fprintf(stderr, "-log_all ");
47*9566063dSJacob Faibussowitsch   PetscCall(PetscOptionsHasName(NULL, "-log_view", &flg));
48609bdbeeSBarry Smith   if (flg) fprintf(stderr, "-log_view ");
49*9566063dSJacob Faibussowitsch   PetscCall(PetscOptionsHasName(NULL, "-log_mpe", &flg));
508caf3d72SBarry Smith   if (flg) fprintf(stderr, "-log_mpe ");
51173c0623SSatish Balay 
52b4d8b9abSSatish Balay   fprintf(stderr, "\n");
53173c0623SSatish Balay 
54*9566063dSJacob Faibussowitsch   PetscCall(PetscFinalize());
55b122ec5aSJacob Faibussowitsch   return 0;
56173c0623SSatish Balay }
57