軟件性能與軟件優(yōu)化

上傳人:優(yōu)*** 文檔編號(hào):240378577 上傳時(shí)間:2024-04-08 格式:PPT 頁(yè)數(shù):52 大?。?58KB
收藏 版權(quán)申訴 舉報(bào) 下載
軟件性能與軟件優(yōu)化_第1頁(yè)
第1頁(yè) / 共52頁(yè)
軟件性能與軟件優(yōu)化_第2頁(yè)
第2頁(yè) / 共52頁(yè)
軟件性能與軟件優(yōu)化_第3頁(yè)
第3頁(yè) / 共52頁(yè)

下載文檔到電腦,查找使用更方便

25 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《軟件性能與軟件優(yōu)化》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件性能與軟件優(yōu)化(52頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、軟件性能與軟件優(yōu)化(V1.2)Page 2n培訓(xùn)之前,你所理解的這次培訓(xùn)的主題;n三天的培訓(xùn),我們的學(xué)習(xí)內(nèi)容是哪些?n如何評(píng)估我們的項(xiàng)目質(zhì)量;兩個(gè)問(wèn)題Page 3軟件性能與軟件質(zhì)量Page 4培訓(xùn)目標(biāo)n軟件優(yōu)化的經(jīng)驗(yàn)分享;n互動(dòng)參與;n優(yōu)化的案例收集;n整理成文,指導(dǎo)以后的軟件設(shè)計(jì);Page 5 軟件性能指在指定條件下,相對(duì)于資源使用總量,軟件產(chǎn)品提供恰當(dāng)?shù)膱?zhí)行效果的能力,一般包括如下一些方面:1.時(shí)間響應(yīng):軟件產(chǎn)品執(zhí)行其功能時(shí),提供恰當(dāng)?shù)捻憫?yīng)和處理時(shí)間的能力;2.資源的使用效率:在指定條件下,軟件產(chǎn)品執(zhí)行其功能時(shí),占用恰當(dāng)?shù)馁Y源的能力;3.吞吐量:指單位時(shí)間內(nèi)能處理的事件個(gè)數(shù),或單位時(shí)間傳輸

2、的數(shù)據(jù)量;軟件性能的定義Page 6分類(lèi)度量名稱(chēng)目標(biāo)定義數(shù)據(jù)來(lái)源時(shí)間行為性響應(yīng)時(shí)間完成特定任務(wù)的估計(jì)時(shí)間X=time(計(jì)算或模擬的)估算吞吐時(shí)間單位時(shí)間內(nèi)估計(jì)可以完成多少任務(wù)X=單位時(shí)間的任務(wù)數(shù))估算周轉(zhuǎn)時(shí)間完成一項(xiàng)完整工作(包括一組相關(guān)任務(wù))的估計(jì)時(shí)間X=time(計(jì)算或模擬的)估算資源利用性I/O利用完成特定任務(wù)預(yù)計(jì)需要的IO利用。X=緩沖的數(shù)量(計(jì)算或模擬的)源代碼I/O利用消息密度在系統(tǒng)調(diào)用中與I/O相關(guān)的消息占源代碼的比例X=A/B;A=有關(guān)于I/O錯(cuò)誤的消息數(shù);B=直接與系統(tǒng)調(diào)用相關(guān)的源代碼行數(shù);源代碼內(nèi)存利用完成特定任務(wù)產(chǎn)品需要占用的內(nèi)存數(shù)X=內(nèi)存大小內(nèi)存利用估計(jì)內(nèi)存利用消息密度

3、在系統(tǒng)調(diào)用中與內(nèi)存利用相關(guān)的消息占源代碼的比例X=A/B;A=有關(guān)于內(nèi)存利用錯(cuò)誤的消息數(shù);B=直接與系統(tǒng)調(diào)用相關(guān)的源代碼行數(shù);源代碼數(shù)據(jù)傳遞傳遞的效率X=數(shù)據(jù)量/時(shí)間估算性能一致性性能一致程度產(chǎn)品的性能與其他制度,標(biāo)準(zhǔn)和約定的一致性。X=A/B;A=實(shí)現(xiàn)了性能的項(xiàng)數(shù);B=需要與制度,標(biāo)準(zhǔn)和約定一致的項(xiàng)數(shù);相關(guān)標(biāo)準(zhǔn)和約定;需求;設(shè)計(jì);代碼;評(píng)審報(bào)告;軟件性能的度量Page 7關(guān)于軟件性能n軟件性能與其他質(zhì)量屬性的關(guān)系;n軟件性能的一些誤區(qū);Page 8需求分析階段設(shè)計(jì)階段創(chuàng)建階段測(cè)試階段用戶現(xiàn)場(chǎng)性能確定性能指標(biāo)性能設(shè)計(jì)并發(fā)設(shè)計(jì)分布式設(shè)計(jì)架構(gòu)設(shè)計(jì)代碼級(jí)別的優(yōu)化性能測(cè)試壓力測(cè)試性能采集軟件性能與研發(fā)

4、階段性能,也是設(shè)計(jì)出來(lái)的性能,也是設(shè)計(jì)出來(lái)的Page 9軟件的優(yōu)化 優(yōu)化是一門(mén)工藝。優(yōu)化是一門(mén)工藝。大多數(shù)人認(rèn)為代碼優(yōu)化是放在開(kāi)發(fā)周期的最后一大多數(shù)人認(rèn)為代碼優(yōu)化是放在開(kāi)發(fā)周期的最后一段,然而,要想真正的設(shè)計(jì)一個(gè)優(yōu)化的程序,你必須在段,然而,要想真正的設(shè)計(jì)一個(gè)優(yōu)化的程序,你必須在開(kāi)發(fā)過(guò)程中就要優(yōu)化,你需要認(rèn)真考慮算法的選擇,權(quán)開(kāi)發(fā)過(guò)程中就要優(yōu)化,你需要認(rèn)真考慮算法的選擇,權(quán)衡速度和尺寸和其他限制因素。衡速度和尺寸和其他限制因素。你必須關(guān)注程序中那一部分需要快或慢,對(duì)它們你必須關(guān)注程序中那一部分需要快或慢,對(duì)它們的性能做仔細(xì)的測(cè)試。還有一個(gè)很重要的因素,需要權(quán)的性能做仔細(xì)的測(cè)試。還有一個(gè)很重要的

5、因素,需要權(quán)衡程序在性能和代碼維護(hù)難度的比重。衡程序在性能和代碼維護(hù)難度的比重。Page 10一.需求階段的性能描述;二.設(shè)計(jì)階段的性能設(shè)計(jì);三.開(kāi)發(fā)階段的性能實(shí)現(xiàn);四.測(cè)試階段的性能驗(yàn)證;Page 11一.需求階段的性能描述 1.列出系統(tǒng)的性能需求;2.用精確的數(shù)據(jù)指標(biāo)來(lái)表達(dá),包括最大吞吐量,響應(yīng)和處理時(shí)間,資源的使用效率等;3.必須是系統(tǒng)可達(dá)到的數(shù)據(jù)指標(biāo);Page 12一.需求階段的性能描述 我們目前存在的問(wèn)題:n項(xiàng)目需求階段的性能描述是否清晰?n性能的描述除了在需求階段,還在其他階段有所描述?n其他?Page 13舉例:ZXV10某產(chǎn)品的性能要求 1.最大32個(gè)2M終端接入能力;2.單畫(huà)

6、面會(huì)議視頻在MCU的視頻延時(shí)小于200毫秒;3.關(guān)鍵DSP,CPU性能留有20%余量。4.關(guān)鍵CPU留有30%以上的空閑內(nèi)存;5.單板復(fù)位的時(shí)間小于6秒;6.最多16路的視頻混合;Page 14二.設(shè)計(jì)階段的性能設(shè)計(jì)設(shè)計(jì)階段能有哪些方法提高性能?Page 15二.設(shè)計(jì)階段的性能設(shè)計(jì)1.系統(tǒng)體系結(jié)構(gòu)的設(shè)計(jì):系統(tǒng)的體系結(jié)構(gòu)從最基礎(chǔ)架構(gòu)上決定著整個(gè)系統(tǒng)的性能,如果這個(gè)階段的設(shè)計(jì)作不好,對(duì)以后的研發(fā)影響很大,其他優(yōu)化的設(shè)計(jì)無(wú)法彌補(bǔ)架構(gòu)的缺陷。Page 16二.設(shè)計(jì)階段的性能設(shè)計(jì)1.系統(tǒng)體系結(jié)構(gòu)的設(shè)計(jì)舉例 i.ZXV10 MCU:分組交換和電路交換 基于分組交換的H.323協(xié)議,對(duì)數(shù)據(jù)包直接進(jìn)行處理,但

7、是因?yàn)槔^承原有基于時(shí)系交換的MCU,仍然采用時(shí)系交換,對(duì)于每個(gè)數(shù)據(jù)包都要進(jìn)行包的拆解,時(shí)系拼湊操作,占用大量的CPU能力,也大大增加了軟件復(fù)雜度,后期的性能指標(biāo)很難達(dá)到。ii.ZXJ10:MP模塊 MP模塊的設(shè)計(jì)采用工控機(jī),大量操作的數(shù)據(jù)處理在本地硬盤(pán);Page 17二.設(shè)計(jì)階段的性能設(shè)計(jì)2.軟件體系結(jié)構(gòu)的設(shè)計(jì):軟件體系結(jié)構(gòu)也非常重要,同樣的硬件,不同的軟件架構(gòu),最后的系統(tǒng)性能差別非常大,對(duì)于各個(gè)任務(wù)的設(shè)計(jì),任務(wù)間通訊的方式,任務(wù)優(yōu)先級(jí)的設(shè)置,任務(wù)同步的方式等,都要在系統(tǒng)設(shè)計(jì)階段好好考慮進(jìn)來(lái)。Page 18二.設(shè)計(jì)階段的性能設(shè)計(jì)2.軟件體系結(jié)構(gòu)的設(shè)計(jì)舉例 i.時(shí)鐘節(jié)拍的設(shè)計(jì),太低的頻率導(dǎo)致任務(wù)

8、響應(yīng)時(shí)間變大,太高的頻率會(huì)讓系統(tǒng)開(kāi)銷(xiāo)太高,需要根據(jù)系統(tǒng)特點(diǎn)進(jìn)行選擇,例如MPC8260的時(shí)鐘節(jié)拍可以選擇60-100;ii.對(duì)消息隊(duì)列的操作,是否采用阻塞方式等;舉例:為了獲得高精度的定時(shí)器,采用更高的系統(tǒng)時(shí)鐘;減少不必要的系統(tǒng)調(diào)用開(kāi)銷(xiāo);Page 19二.設(shè)計(jì)階段的性能設(shè)計(jì)3.硬件的選型:不同的處理器,性能不同,適用領(lǐng)域也不同,有的適用大量的運(yùn)算,如DSP,有的適用通訊處理,所以,需要在芯片選型即確定哪些芯片是我們需要的,硬件選型錯(cuò)誤帶來(lái)的影響也是致命的。Page 20二.設(shè)計(jì)階段的性能設(shè)計(jì)3.CPU的選型 舉例 ADI6834ADI6834IDT32438IDT32438Motorola 8

9、260Motorola 8260IXP425IXP425內(nèi)核MIPS3000MIPS4000PowerPC603EStrongARM主頻200m300m200m400m指令cache16k16k32k32k數(shù)據(jù)cache8k16k32K(32+2)KSDRAM/DDR100M SDRAMDDR150M66M(64bit)SDRAM133M SDRAMPCI32bit/v2.2,帶arbiter32bit/v2.2,帶arbiter無(wú)32bit/v2.2,帶arbiter片上SRAM32kbyte1K*32bitCPM用與dcache共用MMU支持支持支持支持GPIO16bit323216UAR

10、T2222DMA61022功耗2W2.4W2.4W2.2WOSvxWorks/linuxvxWorks/linuxvxWorksvxWorks/linux使用環(huán)境ADI+linux2.4IDT+linux2.48260+VxWorks IXP425+VxWorksPage 21二.設(shè)計(jì)階段的性能設(shè)計(jì)4.好的算法和數(shù)據(jù)結(jié)構(gòu):n選擇一個(gè)好的算法和好的數(shù)據(jù)結(jié)構(gòu),其影響遠(yuǎn)遠(yuǎn)大于選擇一個(gè)好的語(yǔ)言和好的編譯器;n算法對(duì)應(yīng)用程序執(zhí)行速度的影響是最顯著的。n一個(gè)大量使用了排序的程序,使用堆排序的執(zhí)行速度遠(yuǎn)大于使用冒泡排序的程序。n算法沒(méi)有好的優(yōu)化的程序,即使把它按照處理器的優(yōu)化指令做成了硬件版,它遠(yuǎn)還是比不上

11、使用了優(yōu)化算法的純軟件程序。n在我們做優(yōu)化的時(shí)候,一定要分析代碼中主要使用的算法,首先考慮是否有明顯更好的算法,如果有,馬上放棄現(xiàn)有的算法,避免在低效算法上進(jìn)行徒勞的優(yōu)化。,Page 22二.設(shè)計(jì)階段的性能設(shè)計(jì)n好的算法和數(shù)據(jù)結(jié)構(gòu):例子:ZXV10非全交換的實(shí)現(xiàn);Page 23全交換的處理思路Page 24非全交換的處理思路Page 25二.設(shè)計(jì)階段的性能設(shè)計(jì)5.改造協(xié)議棧和操作系統(tǒng):底層軟件的效率,很大程度依賴(lài)操作系統(tǒng)和協(xié)議棧,很多時(shí)候并不能滿足要求,就需要定制操作系統(tǒng),來(lái)完成符合要求的模塊,同時(shí),對(duì)于協(xié)議棧,因?yàn)榉謱咏Y(jié)構(gòu),會(huì)導(dǎo)致性能的下降,在不能滿足需求的時(shí)候,也要進(jìn)行裁減和修改,甚至需要

12、重寫(xiě)協(xié)議棧代碼,根據(jù)需求來(lái)開(kāi)發(fā)定制協(xié)議棧。Page 26二.設(shè)計(jì)階段的性能設(shè)計(jì)5.改造協(xié)議棧和操作系統(tǒng) 舉例 i.改造TCP/IP協(xié)議棧:重寫(xiě)適用系統(tǒng)的協(xié)議棧;ii.完善TCP/IP協(xié)議棧:對(duì)于UDP協(xié)議處理,不在進(jìn)行socket的收發(fā)處理,而是直接從IP層獲得數(shù)據(jù)包進(jìn)行處理,繞過(guò)UDP協(xié)議和SOCKET接口,減少內(nèi)存拷貝次數(shù),減少大量的查詢操作,從而大大提高程序效率。數(shù)據(jù)發(fā)送可以直接調(diào)用驅(qū)動(dòng)層的發(fā)送函數(shù)。Page 27二.設(shè)計(jì)階段的性能設(shè)計(jì)6.驅(qū)動(dòng)優(yōu)化設(shè)計(jì) 優(yōu)化的驅(qū)動(dòng)設(shè)計(jì)可以讓整個(gè)軟件執(zhí)行效率大大提升,有經(jīng)驗(yàn)的開(kāi)發(fā)人員,特別是底層技術(shù)專(zhuān)家,可以設(shè)計(jì)出非常高效的驅(qū)動(dòng)程序;Page 28二.設(shè)計(jì)

13、階段的性能設(shè)計(jì)6.驅(qū)動(dòng)優(yōu)化設(shè)計(jì) 舉例 單板同時(shí)處理16個(gè)2M終端數(shù)據(jù),每秒收發(fā)數(shù)據(jù)包達(dá)到3200個(gè),每次中斷都要保存,恢復(fù)環(huán)境,占用大量CPU時(shí)間,通過(guò)設(shè)置BD表,每32個(gè)數(shù)據(jù)包產(chǎn)生一次中斷,而不是先前的一個(gè)數(shù)據(jù)包一次中斷,從而讓驅(qū)動(dòng)效率提升200%,系統(tǒng)效率提升100%。同時(shí),因?yàn)樘幚頃r(shí)間都在毫秒級(jí)別,對(duì)應(yīng)用沒(méi)有影響;Page 29二.設(shè)計(jì)階段的性能設(shè)計(jì)7.CPU的特性:i.主頻:很多CPU都可以工作在不同的主頻下,例如MPC860T,可以在65M,50M,8260可以在200M,166M,133M等。ii.DMA:對(duì)于大量數(shù)據(jù)訪問(wèn),數(shù)據(jù)拷貝,DMA是提高程序效率很好的方法,但是要注意和主程

14、序之間的異步操作。DMA雖然不會(huì)占用CPU時(shí)間,但是會(huì)和CPU爭(zhēng)奪總線資源;Page 30二.設(shè)計(jì)階段的性能設(shè)計(jì)7.CPU的特性:iii.CACHE的打開(kāi)和關(guān)閉 CACHE的打開(kāi)和關(guān)閉對(duì)于程序效率差別非常大,應(yīng)該盡早打開(kāi)數(shù)據(jù)和程序CACHE。同時(shí),對(duì)于非常高效的代碼,例如小的驅(qū)動(dòng)程序,可以鎖定到CACHE,從而提高局部代碼的運(yùn)行效率;Page 31二.設(shè)計(jì)階段的性能設(shè)計(jì)7.CPU的特性:iv:字節(jié)對(duì)齊 對(duì)于系統(tǒng)中的大量數(shù)據(jù)拷貝,應(yīng)該在設(shè)計(jì)的時(shí)侯就要考慮到字節(jié)對(duì)齊,這樣在調(diào)用memcpy的時(shí)侯,會(huì)很容易的進(jìn)行字拷貝,長(zhǎng)字拷貝,效率差別很大,字節(jié)對(duì)齊一定要在設(shè)計(jì)階段考慮進(jìn)來(lái),特別是緩沖區(qū)的設(shè)計(jì);m

15、emcpy的實(shí)現(xiàn)機(jī)制;Page 32二.設(shè)計(jì)階段的性能設(shè)計(jì)7.動(dòng)態(tài)內(nèi)存分配 (1)對(duì)于頻繁使用的數(shù)據(jù)結(jié)構(gòu),不要每次使用時(shí)候分配內(nèi)存,使用后馬上釋放。否則,如果你是在一個(gè)循環(huán)體內(nèi)使用它的,就會(huì)花費(fèi)很多時(shí)間在分配和釋放內(nèi)存上。(2)內(nèi)存分配方式的選擇。使用標(biāo)準(zhǔn)C運(yùn)行庫(kù)的Malloc()和Free()是最簡(jiǎn)單也是最低效的方式;(3)創(chuàng)建內(nèi)存管理模塊;Page 33二.設(shè)計(jì)階段的性能設(shè)計(jì) 8.文件IO使用:硬盤(pán)是慢速設(shè)備,文件IO操作是一個(gè)非常消耗時(shí)間的操作。(1)使用標(biāo)準(zhǔn)C的fopen(),fread(),fwrite()等進(jìn)行文件IO最簡(jiǎn)單,最低效。(2)使用C+的IO流改進(jìn)了效率,因?yàn)樗鶎?duì)輸

16、出的流進(jìn)行緩沖,直到緩沖滿時(shí)候刷新,減少了磁訪問(wèn)次數(shù)。(3)一個(gè)改進(jìn)的方式是直接使用ReadFile()和WriteFile()等系統(tǒng)調(diào)用,自己管理緩沖區(qū)。(4)可以劇烈的改進(jìn)IO操作的兩個(gè)方式是:內(nèi)存映像文件和異步文件IO。Page 34二.設(shè)計(jì)階段的性能設(shè)計(jì) 9.緩沖區(qū)的設(shè)計(jì):緩沖區(qū),消息隊(duì)列大小等,也是根據(jù)系統(tǒng)的吞吐量來(lái)設(shè)計(jì),注意不要出現(xiàn)緩沖區(qū)過(guò)小,或者消息隊(duì)列太小導(dǎo)致丟消息;Page 35三.開(kāi)發(fā)階段的性能實(shí)現(xiàn) 開(kāi)發(fā)階段都有哪些優(yōu)化方法?Page 36三.開(kāi)發(fā)階段的性能實(shí)現(xiàn) 1.嵌入?yún)R編語(yǔ)言:匯編語(yǔ)言的效率要比C語(yǔ)言高很多,特別是一些要求效率非常高的算法,都需要用匯編實(shí)現(xiàn),匯編的開(kāi)發(fā)效

17、率并不高,所以,好的策略是在C程序中嵌入?yún)R編語(yǔ)言。Page 37三.開(kāi)發(fā)階段的性能實(shí)現(xiàn) 1.嵌入?yún)R編語(yǔ)言 舉例 因?yàn)橛写罅康臄?shù)據(jù)拷貝,系統(tǒng)提供的memcpy性能很低下,通過(guò)匯編代碼即可看出來(lái),通過(guò)重新寫(xiě)匯編代碼,則可以提供比原有實(shí)現(xiàn)高效很多的方法,注意,這個(gè)要保證輸入?yún)?shù)都是字對(duì)齊的,所以緩沖區(qū)也要設(shè)計(jì)成字對(duì)齊。先前的匯編代碼:略,重寫(xiě)的memcpy匯編代碼:bcopyLongsm2m:_bcopyLongsm2m:addir3,r3,-4addir4,r4,-4mtctrr5bcfLGOm2m:lwzur7,4(r3)stwur7,4(r4)bdnzbcfLGOm2mblr Page 38三

18、.開(kāi)發(fā)階段的性能實(shí)現(xiàn) 2.使用優(yōu)化編譯選項(xiàng):每個(gè)編譯器都有自己的優(yōu)化選項(xiàng),如果可能,都設(shè)置成最高級(jí)的優(yōu)化。初期可以不打開(kāi)優(yōu)化開(kāi)關(guān),但是后期一定要打開(kāi),編譯開(kāi)關(guān)打開(kāi)后,可能系統(tǒng)發(fā)生異常崩潰,這多半和優(yōu)化選項(xiàng)無(wú)關(guān),而是系統(tǒng)中有時(shí)間敏感部分,在優(yōu)化后,代碼執(zhí)行更塊,導(dǎo)致運(yùn)行異常。舉例:-o1 寄存器優(yōu)化,會(huì)將局部變量?jī)?yōu)化成寄存器,性能提高很大,文件變?。?o2 局部?jī)?yōu)化,會(huì)優(yōu)化匯編語(yǔ)句前后順序,會(huì)在函數(shù)內(nèi)部排流水線,性能提高很大,文件變?。?o3 文件級(jí)優(yōu)化,部分函數(shù)會(huì)被內(nèi)聯(lián),且可能會(huì)被內(nèi)聯(lián)后排流水線,性能提高與應(yīng)用關(guān)系很大,文件可能變大;Page 39三.開(kāi)發(fā)階段的性能實(shí)現(xiàn) 3.循環(huán)變量與條件判斷

19、的使用:對(duì)于循環(huán)內(nèi)有判斷條件的,盡量把判斷條件轉(zhuǎn)移到循環(huán)語(yǔ)句外,這樣可以避免,每次循環(huán)都進(jìn)行判斷操作,重要的是如果是dsp軟件,這樣會(huì)破壞流水線的工作,讓程序效率大大降低。for(循環(huán)條件)if(條件判斷)if(條件1)&(條件2)continue;do Page 40三.開(kāi)發(fā)階段的性能實(shí)現(xiàn) 4.條件語(yǔ)句,switch語(yǔ)句的判斷順序。對(duì)于多重條件語(yǔ)句,應(yīng)該把執(zhí)行次數(shù)最多的條件分支放在最前面,按可能的調(diào)用頻率來(lái)排列順序。switch(tMsg.cMsgType)case BOARD_INFO_REQ:/*0 x00 處理板信息請(qǐng)求消息:MPC860-MPC8260-C6202 OK!*/Proc

20、essBoardInfoReq(&tMsg);break;case IP_ADDR_IND:/*0 x02 處理IP地址指示消息:MPC860-MPC8260 OK!*/ProcessChangeIp(&tMsg);break;Page 41三.開(kāi)發(fā)階段的性能實(shí)現(xiàn) 5.注意類(lèi)型轉(zhuǎn)換。一個(gè)頻繁使用的循環(huán)體內(nèi)作從double到int的轉(zhuǎn)換會(huì)消耗可能比計(jì)算本身還多的時(shí)間。Page 42三.開(kāi)發(fā)階段的性能實(shí)現(xiàn) 6.使用寄存器變量。register會(huì)讓編譯器把指定變量放到寄存器,提高運(yùn)行效率。參數(shù),局部變量;Page 43三.開(kāi)發(fā)階段的性能實(shí)現(xiàn) 7.短路語(yǔ)句。/*如果不是UDP協(xié)議或者不是本地包,則釋放

21、,直接返回*/if(pIpHead-cProtocol!=PROTOCOL_UDP)&(g_ptEnilMng-nIP!=(*(UINT32*)pIpHead-cDestination)m_freem(*pPtrMbuf);return TRUE;Page 44四.測(cè)試階段的性能驗(yàn)證 測(cè)試階段如何驗(yàn)證性能?Page 45四.測(cè)試階段的性能驗(yàn)證 工具軟件的使用。1.Rational Robot;2.CPU性能測(cè)試工具;3.大容量數(shù)據(jù)包發(fā)送軟件;4.實(shí)際設(shè)備模擬軟件;Page 46五.優(yōu)化的關(guān)鍵點(diǎn) 性能是需要從需求,設(shè)計(jì),實(shí)現(xiàn)到測(cè)試都應(yīng)該考慮的內(nèi)容,代碼優(yōu)化是一個(gè)可以永無(wú)止境的工作,優(yōu)化工作可能滲

22、透到應(yīng)用程序的各個(gè)細(xì)節(jié)和軟件開(kāi)發(fā)的各個(gè)階段,對(duì)軟件工程的管理控制是不利的。它會(huì)花費(fèi)了開(kāi)發(fā)人員更多的精力和時(shí)間來(lái)大量的修改代碼甚至修改最初的設(shè)計(jì)。Page 47五.優(yōu)化的關(guān)鍵點(diǎn) 1.架構(gòu)方面的專(zhuān)家;2.底層軟件技術(shù)的專(zhuān)家;Page 48六.推廣建議 性能是所有產(chǎn)品都要關(guān)注的質(zhì)量屬性,公司各個(gè)事業(yè)部在這方面的積累也非常多,如果能把各個(gè)事業(yè)部的設(shè)計(jì)案例和經(jīng)驗(yàn)匯總起來(lái),指導(dǎo)我們進(jìn)行設(shè)計(jì)和實(shí)現(xiàn),會(huì)有非常大的幫助;n專(zhuān)家的培養(yǎng),一個(gè)專(zhuān)家勝過(guò)大量普通的開(kāi)發(fā)人員,對(duì)于攻關(guān)問(wèn)題的解決至關(guān)重要;n優(yōu)化經(jīng)驗(yàn)的積累,對(duì)于一個(gè)產(chǎn)品線非常重要;n過(guò)程數(shù)據(jù),信息收集和總結(jié)對(duì)于優(yōu)化的經(jīng)驗(yàn)積累幫助很大,一定要保存原始的數(shù)據(jù)和優(yōu)化的過(guò)程記錄;n在需求,設(shè)計(jì),實(shí)現(xiàn),測(cè)試各個(gè)階段,真正把性能重視起,而不是最終的補(bǔ)救;Page 49六.推薦書(shū)籍1.軟件架構(gòu)評(píng)估;2.軟件架構(gòu)實(shí)踐;3.編程珠璣;4.軟件優(yōu)化技術(shù)IA-32平臺(tái)的高性能手冊(cè);5.相關(guān)操作系統(tǒng),CPU手冊(cè)等;6.程序設(shè)計(jì)實(shí)踐;Page 50歡迎提問(wèn)和討論n印象深刻的內(nèi)容:n培訓(xùn)需要改進(jìn)的地方:n培訓(xùn)值得借鑒的地方:Page 51知識(shí)回顧知識(shí)回顧Knowledge Knowledge ReviewReviewPage 52 結(jié)束語(yǔ)結(jié)束語(yǔ)若有不當(dāng)之處,請(qǐng)指正,謝謝!若有不當(dāng)之處,請(qǐng)指正,謝謝!

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!