X86組合語言/效能最佳化

本页使用了标题或全文手工转换
维基教科书,自由的教学读本

首頁 > 電腦科學與技術書架 > X86組合語言 > 效能最佳化


依程式邏輯[编辑]

  1. 簡化運算
    查表(例如: 數值表, 跳躍表), 來避免出現連續的比較與跳躍.
  2. 迴圈展開
    避免使用多層的巢式迴圈.
  3. 函數簡化
    避免使用堆疊來傳遞簡單的參數值, 應善用暫存器來傳值.

依CPU的特性[编辑]

  1. 打散前後指令的相依性
    現今的CPU大多具有多條的整數執行管線, 如果在寫程式時, 就預先避免出現前後的指令使用相同的暫存器的話, 可以有效的提升執行效能.
  2. 使用多媒體指令集(MMX, SSE, 3Dnow!)
    由於多媒體指令集可以一次處理多筆的運算(SIMD), 所以可以有效的改善效能.
  3. 避免交叉使用MMX與浮點運算
    部分的CPU由於是MMX與浮點運算, 共用暫存器, 所以當頻繁切換這兩種計算方式時, 需要多花時間去跑清除mmx暫存器的指令.
  4. 位元對齊
    目前大部分的CPU, 在存取記憶體的位址為8的位元對齊時, 會比較快.