與使用16字節4V4一個字節矩陣的程序工作:C/C++優化數據結構,數組的數組或只是陣列
unsigned char matrix[4][4];
和一些256字節16v16一個字節矩陣:
unsigned char bigMatrix[16][16];
很多時候,由於數據操作,我不得不在程序中循環列循環,導致緩存未命中。
將性能提高,如果我使用一個數組來代替,即
unsigned char matrix[16];
unsigned char matrix[256];
,並通過使用一些變量來檢索元素訪問的元素,即
matrix[variableA*variableB + i];
其中variableA的* variableB的+我的需求每次我想訪問一個元素時都要重新計算。
我只想要速度優化和內存沒有問題。這會有所幫助嗎,例如在某些性能受到影響或損失的情況下,還是差別太小甚至不在乎?
我會說,太小而不在乎,但我會等待一個真正知道更好的人給出一個真實的答案。 – sykora 2009-02-09 12:08:13