xref: /petsc/src/benchmarks/PetscMemcmp.c (revision f3fe499b4cc4d64bf04aa4f5e4963dcc4eb56541)
1d8e9fea7SSatish Balay 
2d382aafbSBarry Smith #include "petscsys.h"
3b0878937SSatish Balay 
44a2ae208SSatish Balay #undef __FUNCT__
54a2ae208SSatish Balay #define __FUNCT__ "main"
6b0878937SSatish Balay int main(int argc,char **argv)
7b0878937SSatish Balay {
8b0a32e0cSBarry Smith   PetscLogDouble x,y,z;
9ea709b57SSatish Balay   PetscScalar    A[10000],B[10000];
10d3093643SSatish Balay   int            i,ierr;
114115e8b9SSatish Balay   PetscTruth     flg;
12b0878937SSatish Balay 
1377c4ece6SBarry Smith   PetscInitialize(&argc,&argv,0,0);
14b0878937SSatish Balay 
15b0878937SSatish Balay   for (i=0; i<10000; i++) {
16b0878937SSatish Balay     A[i] = i%61897;
17b0878937SSatish Balay     B[i] = i%61897;
18b0878937SSatish Balay   }
19b0878937SSatish Balay   /* To take care of paging effects */
204115e8b9SSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*0,&flg);
21ac355199SBarry Smith   ierr = PetscGetTime(&x);CHKERRQ(ierr);
22b0878937SSatish Balay 
23ac355199SBarry Smith   ierr = PetscGetTime(&x);CHKERRQ(ierr);
244115e8b9SSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*10000,&flg);
254115e8b9SSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*10000,&flg);
264115e8b9SSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*10000,&flg);
274115e8b9SSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*10000,&flg);
284115e8b9SSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*10000,&flg);
294115e8b9SSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*10000,&flg);
304115e8b9SSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*10000,&flg);
314115e8b9SSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*10000,&flg);
324115e8b9SSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*10000,&flg);
334115e8b9SSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*10000,&flg);
34ac355199SBarry Smith   ierr = PetscGetTime(&y);CHKERRQ(ierr);
359ae0b57aSSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*0,&flg);
369ae0b57aSSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*0,&flg);
379ae0b57aSSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*0,&flg);
389ae0b57aSSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*0,&flg);
399ae0b57aSSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*0,&flg);
409ae0b57aSSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*0,&flg);
419ae0b57aSSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*0,&flg);
429ae0b57aSSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*0,&flg);
439ae0b57aSSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*0,&flg);
449ae0b57aSSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*0,&flg);
45ac355199SBarry Smith   ierr = PetscGetTime(&z);CHKERRQ(ierr);
46b0878937SSatish Balay 
4735d8aa7fSBarry Smith   fprintf(stdout,"%s : \n","PetscMemcmp");
48b4d8b9abSSatish Balay   fprintf(stdout,"    %-15s : %e sec\n","Latency",(z-y)/10.0);
49b4d8b9abSSatish Balay   fprintf(stdout,"    %-15s : %e sec\n","Per PetscScalar",(2*y-x-z)/100000);
50b0878937SSatish Balay 
51*f3fe499bSBarry Smith   ierr = PetscFinalize();
523a40ed3dSBarry Smith   PetscFunctionReturn(0);
53b0878937SSatish Balay }
54