本页使用了标题或全文手工转换

X86组合语言/效能最佳化

维基教科书,自由的教学读本
跳到导航 跳到搜索

首页 > 电脑科学与技术书架 > X86组合语言 > 效能最佳化


依程式逻辑[编辑]

  1. 简化运算
    查表(例如: 数值表, 跳跃表), 来避免出现连续的比较与跳跃.
  2. 回圈展开
    避免使用多层的巢式回圈.
  3. 函数简化
    避免使用堆叠来传递简单的参数值, 应善用暂存器来传值.

依CPU的特性[编辑]

  1. 打散前后指令的相依性
    现今的CPU大多具有多条的整数执行管线, 如果在写程式时, 就预先避免出现前后的指令使用相同的暂存器的话, 可以有效的提升执行效能.
  2. 使用多媒体指令集(MMX, SSE, 3Dnow!)
    由于多媒体指令集可以一次处理多笔的运算(SIMD), 所以可以有效的改善效能.
  3. 避免交叉使用MMX与浮点运算
    部分的CPU由于是MMX与浮点运算, 共用暂存器, 所以当频繁切换这两种计算方式时, 需要多花时间去跑清除mmx暂存器的指令.
  4. 位元对齐
    目前大部分的CPU, 在存取记忆体的位址为8的位元对齐时, 会比较快.