首先提醒大家一句,再好的語句上的優化也比不上演算法上的優化所帶來的巨大效益,所以我覺得對這方面不太熟悉的人都應該買本講資料結構與演算法的書來看看。在第八章講述了幾種常用的演算法,如果你感興趣可以看看。
下面就轉入正題,講一講一般的優化技巧吧:
(1)使用內聯函式。
(2)展開迴圈。
for (i = 0; i < 100; i++)
do_stuff(i);
可以展開成:
for (i = 0; i < 100; )
do_stuff(i); i++;
do_stuff(i); i++;
do_stuff(i); i++;
do_stuff(i); i++;
do_stuff(i); i++;
(3)運算強度減弱。
例如如果有這樣一段程式:
int x = w % 8;
int y = x * 33;
float z = x/5;
for (i = 0; i < 100; i++)
h = 14 * i;
cout<上面的程式這樣改動可以大大加快速度:
int x = w & 7;
int y = (x << 5) + x; //《比+的運算優先順序低!
float z = x*0.2;
for (i = h = 0; i < 100; i++)
cout (4)查表。這種方法挺有用。比如說我們定義了乙個函式f(x)可以返回x*x*x,其中x的範圍是0~1,精度為0.001,那麼我們可以建立乙個陣列a[1000],a[t*1000]儲存的是預先計算好的t*t*t的值,以後呼叫函式就可以用查詢 在有限的ram和有限的顯示空間程式設計的要特殊考慮的事 windows ce是徹底為小平台設計的乙個新的windows 版本 儘管它只支援win32 api的子集而犧牲了向後相容性,但windows ce通過將乙個小版本的windows擴充套件到英特爾x86系列以外的處理器而開拓了新領域。在這一捲中... 程式的效率是每個程式設計師都應該重視的,無論是採用的哪一種語言進行開發.那麼,我們在寫abap程式時,怎樣的語句才能提高到效率呢,下面是我總結到的幾點 1 抽取資料時,避免使用select 盡量使用select a b into table itab這樣的語句。2 不要使用select.endsel... 1 自定義程式的入口 2 合併區段 3 不用調malloc,free等函式 3 不用cout來輸出,cin來輸入 4 如果呼叫了很多庫函式如memset,stycpy等等 的話,請匯入msvcrt.lib,不然編譯器會在程式裡面 匯入靜態庫,這樣的話程式就會大很多。5 window 程式設計不用mf...優化Windows CE程式
abap程式優化
C 優化程式