#include #include int main(int argc,char **argv) { Vec x; PetscReal norm; PetscLogDouble t1,t2; PetscInt n = 10000; PetscCall(PetscInitialize(&argc,&argv,0,0)); PetscCall(PetscOptionsGetInt(NULL,NULL,"-n",&n,NULL)); PetscCall(VecCreate(PETSC_COMM_SELF,&x)); PetscCall(VecSetSizes(x,n,n)); PetscCall(VecSetFromOptions(x)); PetscPreLoadBegin(PETSC_TRUE,"VecNorm"); PetscCall(PetscTime(&t1)); PetscCall(VecNorm(x,NORM_2,&norm)); PetscCall(VecNorm(x,NORM_2,&norm)); PetscCall(VecNorm(x,NORM_2,&norm)); PetscCall(VecNorm(x,NORM_2,&norm)); PetscCall(VecNorm(x,NORM_2,&norm)); PetscCall(VecNorm(x,NORM_2,&norm)); PetscCall(VecNorm(x,NORM_2,&norm)); PetscCall(VecNorm(x,NORM_2,&norm)); PetscCall(VecNorm(x,NORM_2,&norm)); PetscCall(VecNorm(x,NORM_2,&norm)); PetscPreLoadEnd(); PetscCall(PetscTime(&t2)); fprintf(stdout,"%s : \n","VecNorm"); fprintf(stdout," Time %g\n",t2-t1); PetscCall(PetscFinalize()); return 0; }