什麼是提高程式效率的最好方法?

2021-06-22 10:00:59 字數 767 閱讀 4085

什麼是提高程式效率的最好方法?

選擇好的演算法, 小心地實現, 同時確定程式不做額外的事。例如, 即使世界上最優化的字元複製迴圈也比不上不用複製。

當擔心效率時, 要保持幾樣事情在視野中, 這很重要。首先, 雖然效率是個非常流行的話題, 它並不總是象人們想的那樣重要。大多數程式的大多數**並不是時間緊要的。當**不是時間緊要時, 通常把**寫得清楚和可移植比達到最大效率更重要。記住, 電腦執行得非常非常快, 那些看起來「低效率」 的**, 也許可以編譯得比較有效率, 而執行起來也沒有明顯的延時。

試圖預知程式的「熱點」 是個非常困難的事。當要關心效率時, 使用profiling軟體來確定程式中需要得到關注的地方。通常, 實際計算時間都被外圍任務占用了(例如i/o 或記憶體的分配), 可以通過使用緩衝和超快取記憶體來提高速度。

即使對於時間緊要的**, 最無效的優化技巧是忙亂於**細節。許多常被建議的「有效的**技巧」, 即使是很簡單的編譯器也會自動完成(例如, 用移位運算子代替二的冪次方乘)。非常多的手動優化有可能是**變得笨重而使效率反而低下了, 同時幾乎不可移植。例如, 也許可以在某台機器上提了速, 但在另一台機器上去變慢了。任何情況下, 修整**通常最多得到線性信能提高; 更好的演算法可以得到更好的回報。

有關效率的更多討論, 以及當效率很重要時,  如何提高效率的建議, 可以從以下書中得到:kernighan 和plauger 的《the  elements  of  programming style》[k&p] 中的第七章, 和jon bentley 的《writing efficient programs》[bentley]。

提高程式的效率

程式的時間效率是指執行速度,空間效率是指程式占用記憶體或者外存的狀況。全域性效率是指站在整個系統的角度上考慮的效率,區域性效率是指站在模組或函式角度上考慮的效率。l 規則 8 2 1 不要一味地追求程式的效率,應當在滿足正確性 可靠性 健壯性 可讀性等質量因素的前提下,設法提高程式的效率。l 規則 ...

如何提高程式效率

一 程式效率 程式效率,是用執行的步驟 step 數 時間複雜度 佔記憶體的多少來衡量的 空間複雜度。完成某項工作,執行的步驟 step 的次數最少 占用記憶體最小是程式設計師所追求的。特別是嵌入式系統的開發,記憶體等資源都是有限的。因此,提高效率的著眼點應該是 減少執行次數 減少占用空間 二 效率...

怎樣提高程式效率

工作和學習中經常遇到程式執行很慢,效率低的問題,根據平時的工作,自己總結了一些提高程式效率的方法,持續更新中。方法 1 利用快取思想,用空間換時間。比如向量字型freetype顯示慢,可以快取起來一部分常用的字型。比如解析一張通用的,顯示比較緩慢,可以解析出來以後把資料快取起來。2 傳遞指標比傳遞引...