xref: /petsc/src/benchmarks/PetscMemzero.c (revision abdd934af67c1cc360c4d0cfcf2de16e188d627e)
1c6db04a5SJed Brown #include <petscsys.h>
28563dfccSBarry Smith #include <petsctime.h>
3b0878937SSatish Balay 
main(int argc,char ** argv)4b0878937SSatish Balay int main(int argc, char **argv)
5b0878937SSatish Balay {
6b0a32e0cSBarry Smith   PetscLogDouble x, y, z;
7ea709b57SSatish Balay   PetscScalar    A[10000];
8b0878937SSatish Balay 
9*9566063dSJacob Faibussowitsch   PetscCall(PetscInitialize(&argc, &argv, 0, 0));
10b0878937SSatish Balay   /* To take care of paging effects */
11*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 0));
12*9566063dSJacob Faibussowitsch   PetscCall(PetscTime(&x));
13b0878937SSatish Balay 
14*9566063dSJacob Faibussowitsch   PetscCall(PetscTime(&x));
15*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 10000));
16*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 10000));
17*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 10000));
18*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 10000));
19*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 10000));
20*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 10000));
21*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 10000));
22*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 10000));
23*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 10000));
24*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 10000));
25*9566063dSJacob Faibussowitsch   PetscCall(PetscTime(&y));
26*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 0));
27*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 0));
28*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 0));
29*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 0));
30*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 0));
31*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 0));
32*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 0));
33*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 0));
34*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 0));
35*9566063dSJacob Faibussowitsch   PetscCall(PetscMemzero(A, sizeof(PetscScalar) * 0));
36*9566063dSJacob Faibussowitsch   PetscCall(PetscTime(&z));
37b0878937SSatish Balay 
3835d8aa7fSBarry Smith   fprintf(stdout, "%s : \n", "PetscMemzero");
39b4d8b9abSSatish Balay   fprintf(stdout, "    %-15s : %e sec\n", "Latency", (z - y) / 10.0);
40b4d8b9abSSatish Balay   fprintf(stdout, "    %-15s : %e sec\n", "Per PetscScalar", (2 * y - x - z) / 100000.0);
41b0878937SSatish Balay 
42*9566063dSJacob Faibussowitsch   PetscCall(PetscFinalize());
43b122ec5aSJacob Faibussowitsch   return 0;
44b0878937SSatish Balay }
45