作者wowtiger (小虎)
看板C_and_CPP
标题Re: [问题] 程式最佳化
时间Fri Mar 27 23:41:31 2009
※ 引述《uefang (云飞(想出去玩))》之铭言:
: 6. 尽量用三元运算式 e1?e2:e3 代替 if else
没错 这在其他平台真的很有用
但是在 x86 不见得有用
因为 Predicter 太强了
反而用 cmov 而拖慢了效能
另外一种说法就是 cmov 是个废指令
: 7. 尽量不要用动态记忆体配置写法 malloc()
这意思是直接 static void MyMemory[MY_MEM]; 这样吗?
当然你可以找一些 Open Source 的 Fast Malloc 东西
不过我记得稳定性真的...
请花钱买 SmartHeap Library 吧
: 8. 尽量用 Bitwise Logical Operator (>>,<<,^,|,&,~)
: ps: 乘法可用<< , 除法可用 >>
: 9. 尽量不要用 / 或 % 运算
以上请相信 Compiler 的实数 / 和 % 的最佳化
自己去搞反而有可能比 Compiler 差
因为这种事情自己不会比 Compiler 更了解情形
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.44.182.142
1F:推 Ebergies:推 predictor 太强 03/27 23:58
2F:推 littleshan:推,让 compiler 来决定最好的实作方法吧 03/28 00:59