C語言效能優化

2021-10-04 21:30:19 字數 804 閱讀 9029

- 1、資料型別

1)如果確定整數非負,應直接使用unsigned int,處理器處理無符號unsigned 整形數的效率遠遠高於有符號signed整形數

2)float可以用int替代,如果需要結果精確到小數點後n位,可以將其乘以n*10,結果盡可能晚的把它轉換為浮點型數字

3)區域性變數盡可能的不使用char和short型別。對於char和short型別,編譯器需要在每次賦值的時候將區域性變數減少到8或者16位,是通過暫存器左移24或者16位,然後根據有無符號標誌右移相同的位數實現,這會消耗兩次計算機指令操作

- 2、乘除法和取餘數

int

func_mod

(int cnt)

替換為:

intfunc_mod

(int cnt)

return cnt;

}

//使用陣列下標獲取字元陣列的值

static

char

*str=

"hello";.

....

.chr = str[index]

;

p->pst->a =0;

p->pst->b =0;

p->pst->c =0;

//**在每次操作時必須重複呼叫p->pst

pt = p->pst;

pt->a =0;

pt->b =0;

pt->c =

0;

C語言效能優化 使用位運算

使用位操作可以減少除法和取模的運算。在電腦程式中資料的位是可以操作的最小資料單位,理論上可以用 位運算 來完成所有的運算和操作。一般的位操作是用來控制硬體的,或者進行資料變換,但是,靈活的位操作可以有效地提高程式執行的效率。例如 方法g int i,j i 257 8 j 456 32 方法h in...

Go語言效能優化 For Range 效能研究

如果我們要遍歷某個陣列,map集合,slice切片等,go語言 golang 為我們提供了比較好用的for range方式。range是乙個關鍵字,表示範圍,和for配合使用可以迭代陣列,map等集合。它的用法簡潔,而且map channel等也都是用for range的方式,所以在編碼中我們使用f...

c語言效能優化 使用暫存器變數

c語言效能優化 使用暫存器變數 當對乙個變數頻繁被讀寫時,需要反覆訪問記憶體,從而花費大量的訪問時間。為此,c語言提供了一種變數,即暫存器變數。這種變數存放在cpu的暫存器中,使用時,不需要訪問記憶體,而直接從暫存器中讀寫,從而提高效率。暫存器變數的說明符是register。對於迴圈次數較多的迴圈控...