<提高C++性能的編程技術(shù)>-創(chuàng)新互聯(lián)

一、跟蹤實例
1.I/O的開銷的高昂的;
2.函數(shù)調(diào)用的開銷是要考慮的一個因素,因此應(yīng)該將短小的、頻繁調(diào)用的函數(shù)內(nèi)聯(lián);
3.復(fù)制對象的開銷是高昂的,最好選擇傳遞引用;
4.對象定義會出發(fā)隱形地執(zhí)行構(gòu)造函數(shù)和析構(gòu)函數(shù)。<提高C++性能的編程技術(shù)
>

二、構(gòu)造函數(shù)和析構(gòu)函數(shù)
1.堆內(nèi)存的分配與釋放代價是高昂的;
2.去掉不必要的冗余對象,不管是類中的成員變量還是函數(shù)的參數(shù),都會帶來不必要的構(gòu)造和析構(gòu)開銷;
3.有些基類沒有成員變量也沒有提供接口的作用,這種基類屬于無意義的基類,應(yīng)該去掉;
4.去掉多余的構(gòu)造開銷。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計、成都做網(wǎng)站、廣平網(wǎng)絡(luò)推廣、小程序制作、廣平網(wǎng)絡(luò)營銷、廣平企業(yè)策劃、廣平品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供廣平建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:muchs.cn

三、虛函數(shù)
1.只能在運(yùn)行期間解析的虛函數(shù)調(diào)用是不允許使用內(nèi)聯(lián)的;
2.模版比繼承提供更好的性能,但是編譯錯誤難以調(diào)試,同時c++不支持隱式接口。

四、返回值優(yōu)化(RVO)
1.無新內(nèi)容。

五、臨時對象
1.將構(gòu)造函數(shù)聲明為explicit,可以允許編譯器在幕后使用類型轉(zhuǎn)換;
2.臨時對象會以構(gòu)造函數(shù)和析構(gòu)函數(shù)的形式降低一半的性能;
3.如可能,盡量避免使用對象拷貝;
4.在<op>可能是"+、-、*"或者"/"的地方,使用<op>=運(yùn)算符可以消除臨時對象。

六、單線程內(nèi)存池
1.暫時忽略。

七、多線程內(nèi)存池
1.暫時忽略。

八、內(nèi)聯(lián)基礎(chǔ)
1.暫時忽略。

九、內(nèi)聯(lián)-站在性能的角度
1.暫時忽略。

十、內(nèi)聯(lián)技巧
1.暫時忽略。

十一、標(biāo)準(zhǔn)模板庫
1.無新內(nèi)容。

十二、引用計數(shù)
1.無新內(nèi)容。

十三、編碼優(yōu)化
1.預(yù)先計算;
2.提高常用路徑的速度,if (and1 && and2)以及if (or1 || or2)中;
3.緩式計算,將計算延遲到真正需要的時候;
4.體系結(jié)構(gòu),在經(jīng)常一起訪問兩個成員時,最好讓他們處于統(tǒng)一緩存行中;
5.編譯器優(yōu)化,在release時開啟編譯器優(yōu)化。

十四、設(shè)計優(yōu)化
1.無新內(nèi)容。

十五、可擴(kuò)展性
1.在類中定義的時候,鎖應(yīng)該放置在最靠近它所保護(hù)的共享數(shù)據(jù)附近;
2.讀寫鎖會降低性能,但是能提高擴(kuò)展性;
3.把單一的任務(wù)分解為多個并發(fā)子任務(wù)。

十六、系統(tǒng)體系結(jié)構(gòu)相關(guān)話題
1.同步操作的開銷往往比異步操作大得多,但異步操作往往需要用輪詢來獲取結(jié)果,根據(jù)需要再進(jìn)行權(quán)衡;
2.對于要求響應(yīng)延遲最小的程序來說,同步多線程方案要比異步輪詢方案好,因為異步方案缺少通知手段。

分享名稱:&lt;提高C++性能的編程技術(shù)&gt;-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://muchs.cn/article42/dejihc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航品牌網(wǎng)站建設(shè)、虛擬主機(jī)、網(wǎng)站建設(shè)網(wǎng)站設(shè)計、App設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)