優化程式效能的幾種辦法

2021-09-27 09:39:07 字數 1134 閱讀 6907

編寫快取記憶體友好**

乙個顯而易見的優化就是把迴圈中的函式呼叫寫在迴圈外,比如以下**

for

(int i =

0;i <

strlen

(s);i++

)

可以改寫為

int length =

strlen

(s);

for(

int i =

0;i < length;i++

)

把中間結果放在臨時變數,結束後放進全域性變數,比如下面的**

void

combine

(vector<

int> v,

int* dest)

}

void

combine

(vector<

int> v,

int* dest)

*dest = sum;

}

將上面的**再次修改

void

combine

(vector<

int> v,

int* dest)

//如果len不為偶數,還要處理剩下的資料

for(

; i < len; i++

)*dest = sum;

}

void

combine

(vector<

int> v,

int* dest)

//如果len不為偶數,還要處理剩下的資料

for(

; i < len; i++

)*dest = sum1 + sum2;

}

void

combine

(vector<

int> v,

int* dest)

//如果len不為偶數,還要處理剩下的資料

for(

; i < len; i++

)*dest = sum;

}

優化程式效能

編寫高效程式需要兩個活動 第一,我們必須選擇一組最好的演算法和資料結構 第二,我們必須編寫出編譯器能夠有效優化以轉換成高效可執行 的源 這裡,我們主要講述後者。首先,我們討論一下為什麼要編寫高效程式。不難想象,如果本來要用 天執行完的程式,經過優化只需要 天就可執行完,這是一件多麼令人振奮的 事啊。...

優化程式效能

l 消除迴圈的低效率 n 對於迴圈中的過程呼叫盡量移出迴圈外,例如 nfor i 0 i strlen s i strlen 函式為線性增長 在字串長度很大時 很消耗系統資源 n 減少不必要的儲存器引用,將儲存器引用儲存在臨時變數中.l 處理器優化 即充分利用儲存器流水線操作的吞吐量 n 迴圈展開,...

優化程式效能

研究彙編 是理解編譯器以及產生的 會如何執行的最有效的手段之一。編譯器優化 的限制 1 程式設計中存在 儲存器別名使用 的問題。編譯器必須假設不同的指標可能指向儲存器中相同的位置。2 函式呼叫 簡略了。具體看書 基本的編碼原則 效能大幅度提公升 優化程式效能的一些方法 1 將除錯完的程式完成編譯器級...