1 2 #include <petscsys.h> 3 #include <petsctime.h> 4 5 int main(int argc,char **argv) 6 { 7 PetscLogDouble x,y,z; 8 PetscScalar A[10000]; 9 PetscErrorCode ierr; 10 11 ierr = PetscInitialize(&argc,&argv,0,0);if (ierr) return ierr; 12 /* To take care of paging effects */ 13 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*0)); 14 CHKERRQ(PetscTime(&x)); 15 16 CHKERRQ(PetscTime(&x)); 17 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*10000)); 18 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*10000)); 19 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*10000)); 20 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*10000)); 21 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*10000)); 22 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*10000)); 23 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*10000)); 24 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*10000)); 25 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*10000)); 26 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*10000)); 27 CHKERRQ(PetscTime(&y)); 28 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*0)); 29 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*0)); 30 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*0)); 31 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*0)); 32 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*0)); 33 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*0)); 34 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*0)); 35 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*0)); 36 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*0)); 37 CHKERRQ(PetscMemzero(A,sizeof(PetscScalar)*0)); 38 CHKERRQ(PetscTime(&z)); 39 40 fprintf(stdout,"%s : \n","PetscMemzero"); 41 fprintf(stdout," %-15s : %e sec\n","Latency",(z-y)/10.0); 42 fprintf(stdout," %-15s : %e sec\n","Per PetscScalar",(2*y-x-z)/100000.0); 43 44 ierr = PetscFinalize(); 45 return ierr; 46 } 47