亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        C++程序設(shè)計(jì)中的時(shí)間性能優(yōu)化探討

        2018-12-25 10:43:02昝道廣梁肖裕劉忠青徐西彤李晨輝山東科技大學(xué)電氣信息系
        數(shù)碼世界 2018年6期
        關(guān)鍵詞:指針程序設(shè)計(jì)內(nèi)存

        昝道廣 梁肖裕 劉忠青 徐西彤 李晨輝 山東科技大學(xué)電氣信息系

        隨著計(jì)算機(jī)硬件的不斷更新升級,其內(nèi)存因素對于計(jì)算機(jī)硬件的影響越來越小,已經(jīng)不能限制程序計(jì)算的完善。應(yīng)用程序在計(jì)算機(jī)占有空間越來越富裕,程序在使用中不再首要考慮內(nèi)存因素。但是程序設(shè)計(jì)的時(shí)間性能在很多應(yīng)用場合依然發(fā)揮重要價(jià)值,例如實(shí)時(shí)嵌入式系統(tǒng)、需要處理大量的信息數(shù)據(jù)情景和對程序運(yùn)行速度要求高的情景等等。

        1 C++概述

        C++語言是一種能夠同時(shí)支持多種編程語言的編程語言集合。在具體程序設(shè)計(jì)過程中,為發(fā)揮其功能的靈活性,未在編譯器生成的程序中顯現(xiàn)出相應(yīng)的數(shù)據(jù)結(jié)構(gòu)和代碼。程序設(shè)計(jì)人員無法在載體上看到數(shù)據(jù)結(jié)構(gòu)和代碼,只有憑借自身積累的實(shí)踐經(jīng)驗(yàn),軟件工程師才會(huì)全面系統(tǒng)了解編譯器自動(dòng)生成的代碼時(shí)機(jī)和條件,因此很難把握C++程序的時(shí)間性能和空間性能。C++是在C語言的基礎(chǔ)上演化而來,它具有C語言的應(yīng)用優(yōu)勢,同時(shí)彌補(bǔ)了C語言的缺陷,很多C語言不能支撐的軟件開發(fā)、系統(tǒng)開發(fā)和引擎開發(fā),都可以使用C++。現(xiàn)階段,計(jì)算機(jī)硬件的運(yùn)行速度越來越快,設(shè)計(jì)內(nèi)存空間也越來越大,需要引起注意的是對時(shí)間性能的優(yōu)化方面,還需要進(jìn)一步在程序設(shè)計(jì)中加以優(yōu)化改進(jìn)。

        2 C++程序設(shè)計(jì)中的時(shí)間性能優(yōu)化

        2.1 合理使用inline

        Inline函數(shù)在程序編譯過程中,由調(diào)用指令轉(zhuǎn)變?yōu)楹瘮?shù)體代碼,即在編譯后的可執(zhí)行文件中,將原本需要調(diào)用函數(shù)的場合,更改為該函數(shù)的代碼,直接減少了函數(shù)調(diào)用過程中的進(jìn)棧和出棧操作步驟,因此提升了程序運(yùn)行中的時(shí)間性能。以下為通過合理使用inline來優(yōu)化時(shí)間性能的分析。直接在調(diào)用處插入函數(shù)代碼,使得程序編譯對代碼上下文信息有更加深入的了解,發(fā)揮出這些信息的支持作用,幫助人們利用編譯器來優(yōu)化代碼,但是我們并不詳細(xì)了解優(yōu)化流程和優(yōu)化內(nèi)容。如果不使用inline程序執(zhí)行到函數(shù)調(diào)用位置,需要具體執(zhí)行函數(shù)體所在地方的代碼。一般函數(shù)調(diào)用位置和函數(shù)代碼所在地方并不接近,容易造成操作系統(tǒng)的缺頁中斷,而在要求操作系統(tǒng)將缺頁位置處的代碼移植到硬盤內(nèi)存時(shí),需要消耗的時(shí)間就會(huì)呈現(xiàn)數(shù)量級增加情況,但是在使用inline的情況下就會(huì)降低缺頁中斷的發(fā)生率。

        2.2 謹(jǐn)慎使用虛函數(shù)

        C++語言是從C語言的基礎(chǔ)上發(fā)展和演化而來的程序設(shè)計(jì)語言,C++語言具有鮮明的特性和典型特征,例如虛函數(shù)和C++的虛函數(shù)都是多態(tài)場合下運(yùn)行,實(shí)現(xiàn)了很多程序設(shè)計(jì)的優(yōu)化和升級,創(chuàng)新出這種功能的新用法,但是并非完全都是優(yōu)勢而不存在缺陷,由于虛函數(shù)的使用會(huì)加強(qiáng)更大空間壓力和時(shí)間壓力,降低了程序的空間性能和時(shí)間性能。因此在具體程序設(shè)計(jì)和運(yùn)行過程中,特定的虛函數(shù)類對應(yīng)特定的虛函數(shù)表,函數(shù)表上主要保存的是函數(shù)指針,每次對虛函數(shù)進(jìn)行實(shí)例化操作后就增加相應(yīng)的虛函數(shù)表數(shù)量,這一過程耗費(fèi)一定量的時(shí)間和空間。謹(jǐn)慎使用虛函數(shù),減少降低程序時(shí)間性能的機(jī)會(huì),考慮其它辦法以此保障程序設(shè)計(jì)中的時(shí)間性能。

        2.3 合理使用智能指針

        C++程序中經(jīng)常使用到指針類型。如果能夠在適當(dāng)場合下合理使用指針,不僅可以節(jié)省大量內(nèi)存,而且還有助于節(jié)省運(yùn)行時(shí)間。例如,如果需要將眾多復(fù)雜的信息保存在程序內(nèi)部,我們需要將一個(gè)信息單元保存在單項(xiàng)種類中,然后對這種類型的對象保存在特定的某種STL容器內(nèi)部。如果是直接保存對象,一方面會(huì)讓單項(xiàng)個(gè)體信息存儲在多個(gè)對象中,浪費(fèi)了大量的內(nèi)存空間;另一方面選擇對象無論是從容器中存人或者是取出都需要大量的運(yùn)行時(shí)間。但是如果將指針作為存儲對象,那么對應(yīng)的信息單元僅僅需要個(gè)體對象保存完成,并且指針從容器中存入和取出的時(shí)間性能效率更高。但是由于指針容易導(dǎo)致內(nèi)存泄露,不方便軟件設(shè)計(jì)。因此軟件工程師必須明確控制指針在特定的時(shí)間內(nèi)被釋放,如果沒有將泄露內(nèi)存,并且對程序產(chǎn)生異常。

        3 結(jié)語

        綜上所述,時(shí)間性能優(yōu)化是C++程序設(shè)計(jì)中保證開發(fā)質(zhì)量的必然要求,同時(shí)也是衡量的重要指標(biāo)。在空間性能已經(jīng)不再成為限制性因素的情況下,軟件設(shè)計(jì)的更多精力應(yīng)該集中于程序時(shí)間性能優(yōu)化方面。本文主要對C++程序設(shè)計(jì)中的時(shí)間優(yōu)化方法做出分析,在具體程序設(shè)計(jì)中,還可以利用改進(jìn)數(shù)據(jù)結(jié)構(gòu)和算法措施,來對時(shí)間性能加以優(yōu)化。

        猜你喜歡
        指針程序設(shè)計(jì)內(nèi)存
        基于Visual Studio Code的C語言程序設(shè)計(jì)實(shí)踐教學(xué)探索
        “春夏秋冬”的內(nèi)存
        偷指針的人
        從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        為什么表的指針都按照順時(shí)針方向轉(zhuǎn)動(dòng)
        高職高專院校C語言程序設(shè)計(jì)教學(xué)改革探索
        基于改進(jìn)Hough變換和BP網(wǎng)絡(luò)的指針儀表識別
        電測與儀表(2015年5期)2015-04-09 11:30:42
        PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用
        ARM Cortex—MO/MO+單片機(jī)的指針變量替換方法
        基于內(nèi)存的地理信息訪問技術(shù)
        久久久久夜夜夜精品国产| 久久久久久久综合日本| 91福利精品老师国产自产在线| 九九日本黄色精品视频| 青青草好吊色在线视频| 久久av不卡人妻出轨一区二区| 99久久精品免费看国产| 精品久久欧美熟妇www| 精品少妇大屁股白浆无码| 日韩女优中文字幕在线| 自拍视频在线观看国产| 大地资源网在线观看免费官网| 天天综合网在线观看视频| 少妇被粗大的猛进69视频| 亚洲国产精品久久久久婷婷软件| 中文字幕亚洲乱码熟女1区2区 | 亚洲最大av资源站无码av网址 | 国产精品夜色视频久久| 欧美激情视频一区二区三区免费 | 免费看国产精品久久久久| 熟女乱乱熟女乱乱亚洲| 亚洲国产熟女精品传媒| 成人免费直播| 亚洲va欧美va国产综合| 国产免费三级三级三级| 综合激情五月三开心五月| 亚洲日韩精品a∨片无码加勒比| 精产国品一二三产品蜜桃| 国产综合精品久久亚洲| 国产av精品久久一区二区| 国产三a级三级日产三级野外| 亚洲精品无码永久在线观看你懂的| 欧美喷潮久久久xxxxx| 亚洲av噜噜狠狠蜜桃| 国产视频激情在线观看| 久久综合亚洲色一区二区三区| 人妻丰满熟妇av无码处处不卡| 亚洲日产国无码| 97精品熟女少妇一区二区三区| 久久精品国产精品亚洲| 99精品视频在线观看免费|