갤럼들중에 해본적이 있는 분이 있다면 알려주세용~


 질문 - n차원 배열 array[i][j][k][l] 에다가 소팅 안된 random한 variable (var) 를 집어넣는것과

같은 n차원 배열인데 소팅 후에 variable을 집어넣는 속도가 많이 차이가 있을까?

캐쉬 활용하려고 하는데 이게 조건문이 누더기처럼 붙어있어서 캐시 활용이 잘 될지 의문이라..


예를 들자면..


요런식인데


float array[iN][jN][kN][lN]; float var[nvar] = Random(); for (int ivar = 0; ivar < nvar; ivar++) { if (conditions) array[ii][jj][kk][ll] = var[ivar]; else if (conditions) array[ii_1][jj_1][kk_1][ll_1] = var[ivar]; else if (conditions) array[ii_2][jj_2][kk_2][ll_2] = var[ivar]; .... } //----------------------------------------- std::vector<float> varvector (var, nvar); std::sort(varvector.begin(), varvector.end()); for (int ivar = 0; ivar < nvar; ivar++) { if (conditions) array[ii][jj][kk][ll] = var[ivar]; else if (conditions) array[ii_1][jj_1][kk_1][ll_1] = var[ivar]; else if (conditions) array[ii_2][jj_2][kk_2][ll_2] = var[ivar]; .... }

ㅇ소팅이 잡아먹는 시간이 길어서 도찐개찐일까? 

소팅이 된다면 var들은 ll : ll+1, ll+2, ll+3.. 순으로 증가하고 ll = llN이 되면 kk로 넘어가서 kk+1/ll .. ll+1 .. ll+N 까지 증가하는 양상을 보인다고 할때..


직접 해보기 전에 혹시 이런거 해보신 분 있으면 답변점 ㅎ..