高效的訪問問題:我需要訪問一個大矩陣(大於2000x2000)列明智,我的算法需要1行通過和1列通過。行傳遞對於內存效率(高速緩存未命中)是正確的,但是如何減少列通過中的高速緩存未命中?我需要效率。高效的訪問矩陣列
我的嘛我是這樣的:聲明ñ局部變量(根據內存讀取大小),
int a1, a2, a3, a4; for (int j = 0 ; j < DIM_Y ; j+=4) for (int i = 0 ; i < DIM_X ; i++) a1 = matrix[i][j]; ... ; a4 = matrix[i][j+4]; // make the column processing on the 4 variables.
這是一個在C或C++,和數組或int或字符。
歡迎提出任何建議和意見。
謝謝。
你在用什麼語言?請相應地標記問題。 – ja72
矩陣類型是什麼?很容易假設它是一個二維int數組,但也可能是一個int數組指針等。 – jimhark