小编cho*_*_uc的帖子

为什么代码的位置会影响C ++的性能?

我正在运行测试性能,发现更改代码的顺序可以使其速度更快,而不会影响结果。

性能通过使用chrono库的时间执行来衡量。

vector< vector<float> > U(matrix_size, vector<float>(matrix_size,14));
vector< vector<float> > L(matrix_size, vector<float>(matrix_size,12));
vector< vector<float> > matrix_positive_definite(matrix_size, vector<float>(matrix_size,23));

for (i = 0; i < matrix_size; ++i) {         
   for(j= 0; j < matrix_size; ++j){
//Part II : ________________________________________
    float sum2=0;               
    for(k= 0; k <= (i-1); ++k){
      float sum2_temp=L[i][k]*U[k][j];
      sum2+=sum2_temp;
    }
//Part I : _____________________________________________
    float sum1=0;       
    for(k= 0; k <= (j-1); ++k){
      float sum1_temp=L[i][k]*U[k][j];
      sum1+=sum1_temp;
    }           
//__________________________________________
    if(i>j){
      L[i][j]=(matrix_positive_definite[i][j]-sum1)/U[j][j]; 
    }
    else{
       U[i][j]=matrix_positive_definite[i][j]-sum2;
    }   
   }
}
Run Code Online (Sandbox Code Playgroud)

我使用g++ -O3(Intel i5 …

c++ performance

8
推荐指数
1
解决办法
374
查看次数

标签 统计

c++ ×1

performance ×1