C程式優化

2021-09-17 04:14:47 字數 510 閱讀 4854

1、在做任何執行速度上的優化時,須充分考慮優化後**體積開銷缺陷

2、提倡使用查表方法

3、求餘,除法,乘法盡量採用位運算代替

4、平方運算,改為乘法運算

5、迴圈判斷條件盡量簡單明瞭

6、使用 do while()迴圈替代for and while迴圈

7、迴圈展開,可手動迴圈展開,也可由編譯器完成,迴圈展開帶來**體積的開銷和暫存器的消耗

8、多採用廠家提供的內斂指令編寫**

9、cpu支援的情況下,陣列運算盡量採用並行化操作

10、盡量操作指標,利用指標代替陣列操作,對陣列定址,只對指標進行偏移操作,無需計算陣列下標位址進行操作

11、資料結構合理,保持與讀寫匯流排相同的位寬

12、運算元需頻繁從某個記憶體位址讀取時,將運算元值拷貝至本地區域性變數,利用暫存器進行操作

13、for(;;) 比 while(1) 好

14、避免讀寫依賴

15、for()迴圈中減少 if的分支判斷,不要打斷排好的流水。

C 優化程式

1 自定義程式的入口 2 合併區段 3 不用調malloc,free等函式 3 不用cout來輸出,cin來輸入 4 如果呼叫了很多庫函式如memset,stycpy等等 的話,請匯入msvcrt.lib,不然編譯器會在程式裡面 匯入靜態庫,這樣的話程式就會大很多。5 window 程式設計不用mf...

C 程式效能優化

一段c程式,功能開發完成,開始效能優化。當然是先用 pg 編譯,再gprof看 熱點 在 很快找到,是計算hash值的函式,於是換了個更快的hash函式 fnv 速度提高了一些。接著把該hash函式內聯 inline 程式又快了一些。內聯函式不是解決效能問題的靈丹妙藥,因為inline之後gprof...

C程式優化之路(二)

本文講述在編寫c 程式 的常用優化辦法,分為i o 篇,記憶體篇,演算法篇,mmx 彙編篇。二 記憶體篇 i 優化陣列的定址 在編寫程式時,我們常常使用乙個一維陣列a m n 來模擬二維陣列a n m 這個時候訪問a一維陣列的時候 我們經常是這樣寫a j m i 對於a j i 這樣寫當然是無可置疑...