14fcfa849SBarry Smith 2c6db04a5SJed Brown #include <petscvec.h> 38563dfccSBarry Smith #include <petsctime.h> 44fcfa849SBarry Smith 54fcfa849SBarry Smith int main(int argc,char **argv) 64fcfa849SBarry Smith { 7832676f5SBarry Smith Vec x; 85fb5fb77SSatish Balay PetscReal norm; 9b0a32e0cSBarry Smith PetscLogDouble t1,t2; 10a438ae71SBarry Smith PetscInt n = 10000; 114fcfa849SBarry Smith 12*9566063dSJacob Faibussowitsch PetscCall(PetscInitialize(&argc,&argv,0,0)); 13*9566063dSJacob Faibussowitsch PetscCall(PetscOptionsGetInt(NULL,NULL,"-n",&n,NULL)); 144fcfa849SBarry Smith 15*9566063dSJacob Faibussowitsch PetscCall(VecCreate(PETSC_COMM_SELF,&x)); 16*9566063dSJacob Faibussowitsch PetscCall(VecSetSizes(x,n,n)); 17*9566063dSJacob Faibussowitsch PetscCall(VecSetFromOptions(x)); 18832676f5SBarry Smith 19204a6943SJed Brown PetscPreLoadBegin(PETSC_TRUE,"VecNorm"); 20*9566063dSJacob Faibussowitsch PetscCall(PetscTime(&t1)); 21*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x,NORM_2,&norm)); 22*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x,NORM_2,&norm)); 23*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x,NORM_2,&norm)); 24*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x,NORM_2,&norm)); 25*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x,NORM_2,&norm)); 26*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x,NORM_2,&norm)); 27*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x,NORM_2,&norm)); 28*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x,NORM_2,&norm)); 29*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x,NORM_2,&norm)); 30*9566063dSJacob Faibussowitsch PetscCall(VecNorm(x,NORM_2,&norm)); 31204a6943SJed Brown PetscPreLoadEnd(); 32*9566063dSJacob Faibussowitsch PetscCall(PetscTime(&t2)); 335fb5fb77SSatish Balay fprintf(stdout,"%s : \n","VecNorm"); 34b4d8b9abSSatish Balay fprintf(stdout," Time %g\n",t2-t1); 35*9566063dSJacob Faibussowitsch PetscCall(PetscFinalize()); 36b122ec5aSJacob Faibussowitsch return 0; 374fcfa849SBarry Smith } 38