c c 程式優化幾個建議

2021-06-20 20:14:13 字數 1146 閱讀 7252

第一:記住,**寫完後一定要做一下系統優化,無論上面是否這樣要求,但是這點很重要,是一種態度,當然優化可以借助各種工具如ibm和intel系列的優化工具,一般80%的時間被20%的**所占用。

第二:如果你所在公司,對程式效能優化不重視,那麼就請跳槽吧。

第三:要知道你所用編譯器是怎麼去優化多維陣列訪問的,如a[i][j]->a[i][j+1] 和a[i][j]->a[i+1][j]的訪問速度對不同的編譯器會有明顯的速度差異,在裡面涉及到cache block擊中問題。

第四:關注多核處理器對浮點運算的處理方式。

第五:減少區域性棧變數。我們知道任何系統給的棧空間的大小極為吝嗇的,一般是1-4mb左右。如果棧變數過多,那麼會導致一部分棧變數存在register裡面,這會影響函式呼叫速度。

第六:儘量減少函式引數個數,如果不需要返回,就不要返回,減少棧深度。

第七:盡量用pass-by-reference 和指標傳遞引數,避免不必要的複製。

第八:盡量避免使用cast操作,這會產生乙個temp變數,擠占register的空間,影響i./o效率。

第九:宣告c++類的時候避免使用賦值構造

第十:正確寫出輕量級的建構函式,如用a():a(0){}代替a()

第十一:盡量用位運算代替四則運算

第十二:謹慎使用函式跳轉表

第十三:對自己定義的類,盡量用+= -=  \= *= 代替+- * /

第十四:盡量延遲區域性變數的宣告和初始化

第十五:如果不影響計算的話,用prefix ++代替postfix++,對於使用者自己定義的類,這兩個操作符都要定義,防止客戶誤用

第十六:使用泛型程式設計看起來很酷,但是主流編譯器對他的優化是有限的,盡量避免使用。

第十七:在計算過程過程中,避免動態記憶體操作。

第十八:搞清楚你硬體cache大小

第十九:避免不必要的初始化

第二十:盡量提前結束loop

第二十一:用數學公式去簡化你的計算,如不要sb到用迴圈或者遞迴去計算等差數列的前n項和

第二十二:遞迴盡量少用,雖然很美,但是這回消耗本來就不富裕的棧空間

第二十三:盡量不要用虛函式。這會增加類的大小

第二十四:浮點計算和整形計算的速度沒有你想的差距那麼大,現在cpu都支援浮點運算,準備使用定點化計算的時候最好ray trace一下。綜合考慮空間和時間上的效率

優化app速度的幾個建議

一 後台執行 這是一條很通用,也容易理解的方法。使用者不會願意盯著進度條傻傻地等待,除了 取消 沒有其他選擇。在系統處理一些網路任務的時候,完全可以允許使用者做一些其他的事情。二 在載入前顯示內容 客戶端與web的乙個不同點,客戶端的顯示內容包括本地資料和網路資料兩部分。在設計介面時,將更多的資訊放...

C程式的效率優化建議

程式設計時要經常注意 的效率。在保證軟體系統的正確性 穩定性 可讀性及可測性的前提下,提高 效率。效率分為全域性效率 區域性效率 時間效率及空間效率。全域性效率是站在整個系統的角度上的系統效率 區域性效率是站在模組或函式角度上的效率 時間效率是程式處理輸入任務所需的時間長短 空間效率是程式所需記憶體...

c c 有益的建議

c c 程式設計有益的建議 1.提高程式的效率 時間效率 執行速度 空間效率 程式占用記憶體或者外存的情況 全域性效率 站在整個系統的角度上考慮的效率 區域性效率 站在模組或者函式上考慮的效率 規則 1 不要一味追求程式的效率,應該在滿足正確性,可靠性,健壯性,可讀性等質量因素下,設法提高程式的效率...