0
내 코드와 그 행렬을 선언하고 초기화하는데 걸리는 시간이 이상하다는 것을 알게되었습니다.2D 행렬 선언의 차이점
첫 번째 방법 :
vector< vector<double> > gblStiff(dOF, vector<double>(dOF, 0));
DOF는 어떤 결정 값 이전 코드에서였다. 이 첫 번째 방법은 약 3 초 dOF = 30000 때했다 !!
번째 방법 :
가double** gblStiff = new double*[dOF];
for (i=0; i < dOF; i++)
gblStiff[i] = new double[dOF];
두 번째 방법은 동일한 DOF위한 0.063 초가 소요!
왜 이런 일이 일어나고 있는지 알 수있는 사람이 있습니까? 나는 매우 궁금하다.
단일 연속 버퍼가 더 빠릅니다. 'gblStiff [dOF * row + col]'(또는 저장소 순서와 색인 정의에 따라 그 반대)로 색인을 생성하십시오. – Peter