xref: /petsc/src/benchmarks/PetscMemcmp.c (revision 8563dfcc547dae59d5e1dc6b8e602db41cb72b14)
1d8e9fea7SSatish Balay 
2c6db04a5SJed Brown #include <petscsys.h>
3*8563dfccSBarry Smith #include <petsctime.h>
4b0878937SSatish Balay 
54a2ae208SSatish Balay #undef __FUNCT__
64a2ae208SSatish Balay #define __FUNCT__ "main"
7b0878937SSatish Balay int main(int argc,char **argv)
8b0878937SSatish Balay {
9b0a32e0cSBarry Smith   PetscLogDouble x,y,z;
10ea709b57SSatish Balay   PetscScalar    A[10000],B[10000];
11d3093643SSatish Balay   int            i,ierr;
12ace3abfcSBarry Smith   PetscBool      flg;
13b0878937SSatish Balay 
1477c4ece6SBarry Smith   PetscInitialize(&argc,&argv,0,0);
15b0878937SSatish Balay 
16b0878937SSatish Balay   for (i=0; i<10000; i++) {
17b0878937SSatish Balay     A[i] = i%61897;
18b0878937SSatish Balay     B[i] = i%61897;
19b0878937SSatish Balay   }
20b0878937SSatish Balay   /* To take care of paging effects */
214115e8b9SSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*0,&flg);
22*8563dfccSBarry Smith   ierr = PetscTime(&x);CHKERRQ(ierr);
23b0878937SSatish Balay 
24*8563dfccSBarry Smith   ierr = PetscTime(&x);CHKERRQ(ierr);
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);
344115e8b9SSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*10000,&flg);
35*8563dfccSBarry Smith   ierr = PetscTime(&y);CHKERRQ(ierr);
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);
459ae0b57aSSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*0,&flg);
46*8563dfccSBarry Smith   ierr = PetscTime(&z);CHKERRQ(ierr);
47b0878937SSatish Balay 
4835d8aa7fSBarry Smith   fprintf(stdout,"%s : \n","PetscMemcmp");
49b4d8b9abSSatish Balay   fprintf(stdout,"    %-15s : %e sec\n","Latency",(z-y)/10.0);
50b4d8b9abSSatish Balay   fprintf(stdout,"    %-15s : %e sec\n","Per PetscScalar",(2*y-x-z)/100000);
51b0878937SSatish Balay 
52f3fe499bSBarry Smith   ierr = PetscFinalize();
533a40ed3dSBarry Smith   PetscFunctionReturn(0);
54b0878937SSatish Balay }
55