亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

總結c++性能優化策略

2020-05-23 13:34:08
字體:
來源:轉載
供稿:網友

1 關于繼承:不可否認良好的抽象設計可以讓程序更清晰,代碼更看起來更好,但是她也是有損失的,在繼承體系中子類的創建會調用父類的構造函數,銷毀時會調用父類的析構函數,這種消耗會隨著繼承的深度直線上升,所以不要過度的抽象和繼承。

2 對象的復合:對象的復合和繼承很相似,當一個對象包含其他對象構造時也會引起額外的構造。關于這點可能會有很多人不解,認為這是不可避免的,舉個例子,你的一個對象中用到數組和字符串,你是選擇string和vector還是char* 和c系的數組呢,如果沒有用到c++stl庫提供的相關的高級用法,建議選擇后者。

3 構造函數:盡量用參數列表初始化代替參數,避免值傳遞初始化。

4 變量延時定義:從c系轉過來的仍保留著c的習慣,在函數第一行先把所有用到的變量都定義好,但是c是沒有運行時的消耗的,對于c++時不一樣的,對于c++對象的構造和銷毀時有消耗的,如果有大量的對象只在某個if條件的一個分支中出現,那就會有50%的情況這些消耗是可以避免的。對于這點在一個類中也是一樣的,如果成員中有成員只在某個時刻能用,就用指針代替,在構造對象時初始化成空指針,避免構造時調用他的構造函數。

5 虛函數:虛函數的底層實現是通過一個虛函數表來實現的,因此有虛函數的類構造時必須先初始化虛函數表,函數調用時也必須先找到虛函數表,然后通過指針偏移找到相應的函數,并且如果虛繼承的存在會進一步增長這個過程,它是有運行時消耗的,所以避免濫用虛函數和虛繼承,盡可能的用模版設計來代替虛繼承把運行時的消耗提前到編譯期。

6 返回值優化: 雖然c++編譯器會選擇性的進行RVO優化但是不是強制的,當函數有多個返回語句并且返回不通名稱的對象,函數過于復雜,返回對象沒有定義拷貝構造函數時,rvo優化是不會執行的,所以當函數返回一個很大的對象時在不確定rvo優化會執行時,盡量避免值傳遞。

7 變量的定義:在定義變量時盡量避免類型的不匹配造成臨時變量的產生。

8 內存管理:c++內存管理的大權由我們自己掌握,對于項目中要頻繁申請和釋放的對象建議用簡單的內存池來管理,可以大大的降低頻繁申請和釋放內存帶來的消耗。

9 善用內聯:內聯函數不僅僅是簡單的函數調用似的優化,他還有一個最大的優點就是,可以讓編譯期進行進行邊界代碼的運行環境優化,內聯把代碼拷貝到執行環境處避免了函數調用帶來的消耗,并且編譯期可以進行正常的編譯優化,而函數調用是不能實現的。

10 stl :記住一點stl不是唯一的選擇,有時候也不是最好的選擇,合理選擇stl善用stl算法。

11 緩存:對于多次使用的計算結果及時緩存,避免重復計算。

12 延時計算:對于不關心計算結果的計算過程盡量延時執行或者異步去執行。

13 多線程:盡可能的使用無鎖式多線程開發,鎖是一個非常消耗性能的東西,保證數據同步的手段有很多,voalite,原子操作都可已實現,如果迫不得已要盡量減少鎖的消耗,比如降低鎖的粒度,使用性能更高的鎖等等。

14 cpu緩存:合理的利用cpu cache可以極大的提高代碼的運行效率,比如數組中以每列遍歷和每行遍歷的區別。當然多線程環境下也要考慮它帶來的影響。

15 內存對齊:在進行網絡編程時,最好對網絡中傳送的數據快進行內存補齊,加快網絡數據的讀區速度。

16 函數參數:用const引用代替值傳遞,如果函數參數過多,可以用對象來打包參數,減少參數過多帶來的性能消耗。

17 算法: 盡可能的優化你的算法。

18 其他優化方案:位運算代替乘除法,前綴運算符代替后綴運算等等。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一区在线| 亚洲国产精品人人爽夜夜爽| 国产精品免费网站| 91精品久久久久久久久久入口| 米奇精品一区二区三区在线观看| 国产精品第一视频| 成人激情春色网| 亚洲欧美激情精品一区二区| 欧美裸体xxxx极品少妇软件| 亚洲成人黄色网址| 欧美日韩精品在线视频| 视频在线一区二区| 亚洲日本aⅴ片在线观看香蕉| 日韩成人av一区| 亚洲免费视频一区二区| 91免费看片在线| 亚洲一区二区三区四区视频| 丁香五六月婷婷久久激情| 在线精品播放av| 欧美专区在线播放| 久久精彩免费视频| 亚洲乱码一区二区| 亚洲国产欧美一区二区三区久久| 亚洲成人精品av| 中文字幕欧美国内| 91九色视频在线| 国产mv免费观看入口亚洲| 亚洲欧洲一区二区三区久久| 久久色精品视频| 清纯唯美亚洲综合| www.日韩.com| 在线观看欧美日韩| 亚洲免费视频观看| 亚洲精品视频在线观看视频| 亚洲韩国欧洲国产日产av| 欧美乱人伦中文字幕在线| 亚洲欧美一区二区三区在线| 啊v视频在线一区二区三区| 欧美精品18videos性欧美| 欧美一级大片在线免费观看| 日韩精品在线观看网站| 欧美精品中文字幕一区| 人人爽久久涩噜噜噜网站| 亚洲国产成人av在线| 色婷婷综合久久久久| 欧美亚洲在线视频| 亚洲小视频在线| 清纯唯美亚洲综合| 国产91在线播放| 奇米4444一区二区三区| 51色欧美片视频在线观看| 国产精品影片在线观看| 国产日韩欧美成人| 毛片精品免费在线观看| 亚洲国产小视频在线观看| 欧美亚州一区二区三区| 久久久99免费视频| 国产婷婷成人久久av免费高清| 日韩av免费看网站| 欧美电影在线免费观看网站| 日韩av免费在线| 国产精品白丝av嫩草影院| 狠狠操狠狠色综合网| 91久久精品美女| 亚洲国产黄色片| 欧美怡春院一区二区三区| 久久人人爽人人爽爽久久| 久久精品国产一区二区电影| 国产精品久久久久影院日本| 欧美亚洲国产视频小说| 成人免费淫片aa视频免费| 国产脚交av在线一区二区| 欧美激情按摩在线| 欧美久久精品一级黑人c片| 国产女人精品视频| 日韩精品视频在线| 欧美成人全部免费| 亚洲无线码在线一区观看| 欧美华人在线视频| 久久久欧美精品| 亚洲一级黄色av| 91精品视频播放| 国产精品视频成人| 国产精品igao视频| 另类专区欧美制服同性| 成人性生交大片免费看小说| 欧美怡春院一区二区三区| 亚洲精品720p| 日韩精品视频免费专区在线播放| 欧美精品免费播放| 欧美做爰性生交视频| 中文字幕久久久av一区| 少妇久久久久久| 精品国产成人在线| 久久亚洲春色中文字幕| 日韩影视在线观看| 亚洲一区二区国产| 欧美国产一区二区三区| 精品在线欧美视频| 亚洲国产精品悠悠久久琪琪| 在线激情影院一区| 欧美福利在线观看| 亚洲第一男人av| 97在线观看视频| 欧美一级淫片aaaaaaa视频| 欧美日韩美女在线| 亚洲精品中文字| 色黄久久久久久| 中文字幕亚洲一区| 欧美一级电影免费在线观看| 亚洲国产精品悠悠久久琪琪| 久久久久久久久久久免费| 自拍偷拍亚洲欧美| 深夜福利91大全| 亚洲女成人图区| 精品福利在线观看| 欧美午夜精品在线| 91免费电影网站| 精品久久久视频| 亚洲美女久久久| 亚洲日本欧美中文幕| 91免费国产网站| 在线观看国产精品淫| 久久精品电影网| 国产精品免费久久久久影院| 久久躁日日躁aaaaxxxx| 国产亚洲欧美日韩精品| 亚洲一区二区三区在线免费观看| 久操成人在线视频| 国产精品一区二区三区久久久| 夜色77av精品影院| 国产欧美韩国高清| 亚洲天堂久久av| 日韩一级裸体免费视频| 国产精品永久免费观看| 亚洲欧美日韩精品久久亚洲区| 98视频在线噜噜噜国产| 欧美成人免费全部观看天天性色| 国产亚洲成av人片在线观看桃| 亚洲精品aⅴ中文字幕乱码| 91成人免费观看网站| 国产精品久久久久久久电影| 日韩中文字幕在线精品| 日韩中文字幕在线视频播放| 久久久之久亚州精品露出| 中文字幕欧美日韩精品| 国产精品白丝jk喷水视频一区| 热99在线视频| 日韩男女性生活视频| 国产精品网站视频| 欧美—级a级欧美特级ar全黄| 国产成人精品一区二区| 丝袜美腿亚洲一区二区| 亚洲黄色在线观看| 国产91成人video| 欧美成人高清视频| 怡红院精品视频| 日韩精品欧美激情| 成人黄色在线免费| 自拍亚洲一区欧美另类| 国模极品一区二区三区| 国产精品美女呻吟| 亚洲国产一区自拍| 欧美电影免费看|