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 ierr = PetscMemzero(A,sizeof(PetscScalar)*0);CHKERRQ(ierr); 14 ierr = PetscTime(&x);CHKERRQ(ierr); 15 16 ierr = PetscTime(&x);CHKERRQ(ierr); 17 ierr = PetscMemzero(A,sizeof(PetscScalar)*10000);CHKERRQ(ierr); 18 ierr = PetscMemzero(A,sizeof(PetscScalar)*10000);CHKERRQ(ierr); 19 ierr = PetscMemzero(A,sizeof(PetscScalar)*10000);CHKERRQ(ierr); 20 ierr = PetscMemzero(A,sizeof(PetscScalar)*10000);CHKERRQ(ierr); 21 ierr = PetscMemzero(A,sizeof(PetscScalar)*10000);CHKERRQ(ierr); 22 ierr = PetscMemzero(A,sizeof(PetscScalar)*10000);CHKERRQ(ierr); 23 ierr = PetscMemzero(A,sizeof(PetscScalar)*10000);CHKERRQ(ierr); 24 ierr = PetscMemzero(A,sizeof(PetscScalar)*10000);CHKERRQ(ierr); 25 ierr = PetscMemzero(A,sizeof(PetscScalar)*10000);CHKERRQ(ierr); 26 ierr = PetscMemzero(A,sizeof(PetscScalar)*10000);CHKERRQ(ierr); 27 ierr = PetscTime(&y);CHKERRQ(ierr); 28 ierr = PetscMemzero(A,sizeof(PetscScalar)*0);CHKERRQ(ierr); 29 ierr = PetscMemzero(A,sizeof(PetscScalar)*0);CHKERRQ(ierr); 30 ierr = PetscMemzero(A,sizeof(PetscScalar)*0);CHKERRQ(ierr); 31 ierr = PetscMemzero(A,sizeof(PetscScalar)*0);CHKERRQ(ierr); 32 ierr = PetscMemzero(A,sizeof(PetscScalar)*0);CHKERRQ(ierr); 33 ierr = PetscMemzero(A,sizeof(PetscScalar)*0);CHKERRQ(ierr); 34 ierr = PetscMemzero(A,sizeof(PetscScalar)*0);CHKERRQ(ierr); 35 ierr = PetscMemzero(A,sizeof(PetscScalar)*0);CHKERRQ(ierr); 36 ierr = PetscMemzero(A,sizeof(PetscScalar)*0);CHKERRQ(ierr); 37 ierr = PetscMemzero(A,sizeof(PetscScalar)*0);CHKERRQ(ierr); 38 ierr = PetscTime(&z);CHKERRQ(ierr); 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