高效C 編碼優化

2022-02-10 08:38:36 字數 700 閱讀 7581

條條大路通羅馬,一種需求,有很多種編碼方式可以實現,如果在實現的基礎上進行優化,豈不是更好。

(1)foreach 比for語句具有更好的執行效率。

foreach的平均時間只有for的30%,在兩者都可以使用的情況下,建議使用foreach,另外,用for寫入資料所花的時間大約是讀取資料時間的10倍。

(2)避免使用arraylist。

因為任何物件新增到arraylist都要封箱為system.object型別,從arraylist取出資料時,要拆箱為實際型別。建議使用泛型集合可以避免裝箱和拆箱的發生,從而提高效能。

(3)存放少量資料時可以用hashtable。

(4)為字串容器宣告常量,不要直接把字元封裝在雙引號(「」)中。

(5)不要用uppercase、lowercase轉換字串進行比較,用string.compare代替。它可以忽略大小寫進行比較。

(6)用stringbuilder代替字串的連線符「+」。

(7)避免在迴圈體內宣告變數,應該在迴圈體外宣告變數,在迴圈體內初始化。

(8)捕獲指定的異常,不要使用通用的system.exception。

(9)不要用exception控制程式流程。

捕獲異常對效能的損耗是眾所周知的。知道的異常最好用if語句來控制程式流程。

(10)使用using或者try/finally來做資源清理。

目前先整理這麼多。

高效C 編碼優化

1.foreach vs for 語句 foreach 要比for具有更好的執行效率 foreach的平均花費時間只有for的30 通過測試結果在for和foreach都可以使用的情況下,我們推薦使用效率更高的foreach 另外,用for寫入資料時間大約是讀取資料時間的10倍左右.2.避免使用ar...

高效面試之理解編碼

一.補碼 1.為什麼要使用原碼,反碼,補碼 1 負數二進位制怎麼表示?答 在原碼中,高位為1就表示負數 2 計算機如何實現減法?1 1 答 對於計算機,邏輯運算應該設計的簡單,1 1可以表示為1 1 故沒有減法,用加法實現減法。1 1 1 1 00000001 原 10000001 原 100000...

高效併發之鎖優化

前面討論執行緒間互斥同步的時候,提到了互斥同步對效能最大的影響是阻塞的實現,掛起執行緒和恢復執行緒操作都需要轉入核心態中完成,這些操作給系統的併發效能帶來了很大的壓力。共享資料的鎖定狀態只會持續很短一段時間,為了這段時間去掛起和恢復執行緒並不值得。如果物理機器有乙個以上的處理器,能讓兩個或以上的執行...