xref: /petsc/src/benchmarks/PetscMemcmp.c (revision 5f80ce2ab25dff0f4601e710601cbbcecf323266)
1d8e9fea7SSatish Balay 
2c6db04a5SJed Brown #include <petscsys.h>
38563dfccSBarry Smith #include <petsctime.h>
4b0878937SSatish Balay 
5b0878937SSatish Balay int main(int argc,char **argv)
6b0878937SSatish Balay {
7b0a32e0cSBarry Smith   PetscLogDouble x,y,z;
8ea709b57SSatish Balay   PetscScalar    A[10000],B[10000];
9a438ae71SBarry Smith   PetscInt       i;
10a438ae71SBarry Smith   PetscErrorCode ierr;
11ace3abfcSBarry Smith   PetscBool      flg;
12b0878937SSatish Balay 
13a438ae71SBarry Smith   ierr = PetscInitialize(&argc,&argv,0,0);if (ierr) return ierr;
14b0878937SSatish Balay   for (i=0; i<10000; i++) {
15b0878937SSatish Balay     A[i] = i%61897;
16b0878937SSatish Balay     B[i] = i%61897;
17b0878937SSatish Balay   }
18b0878937SSatish Balay   /* To take care of paging effects */
194115e8b9SSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*0,&flg);
20*5f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscTime(&x));
21b0878937SSatish Balay 
22*5f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscTime(&x));
234115e8b9SSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*10000,&flg);
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);
33*5f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscTime(&y));
349ae0b57aSSatish Balay   PetscMemcmp(A,B,sizeof(PetscScalar)*0,&flg);
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);
44*5f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscTime(&z));
45b0878937SSatish Balay 
4635d8aa7fSBarry Smith   fprintf(stdout,"%s : \n","PetscMemcmp");
47b4d8b9abSSatish Balay   fprintf(stdout,"    %-15s : %e sec\n","Latency",(z-y)/10.0);
48b4d8b9abSSatish Balay   fprintf(stdout,"    %-15s : %e sec\n","Per PetscScalar",(2*y-x-z)/100000);
49b0878937SSatish Balay 
50f3fe499bSBarry Smith   ierr = PetscFinalize();
5126f47effSBarry Smith   return ierr;
52b0878937SSatish Balay }
53