您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源性能測(cè)試工具 > TPTP接口
使用 TPTP 對(duì) Eclipse 插件進(jìn)行性能剖析和調(diào)優(yōu)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/8/5 11:22:10 ] 推薦標(biāo)簽:

進(jìn)一步的性能調(diào)優(yōu)

如果你恰好足夠幸運(yùn)遇到了一位非?量痰挠脩簦瑢(duì)目前的性能水平還不夠滿意。那我們需要對(duì)現(xiàn)在的代碼進(jìn)一步進(jìn)行優(yōu)化以提高性能。

從新進(jìn)行上面的步驟,首先以所有方法的執(zhí)行時(shí)間進(jìn)行排序。之后按照耗時(shí)的順序從前往后進(jìn)行分析。根據(jù)對(duì)前面幾個(gè)方法的分析,我們發(fā)現(xiàn),前面幾個(gè)方法耗時(shí)較多的原因也都是因?yàn)榻K調(diào)用了我們的 parseContent 方法。

按照上面的步驟,點(diǎn)擊該方法以分析其具體執(zhí)行狀況:

在該方法的 Selected method incokes 部分,我們可以看到,createParser 耗費(fèi)了大部分的運(yùn)行時(shí)間。我們可以從兩方面入手進(jìn)行性能調(diào)優(yōu),一是改善該段代碼執(zhí)行邏輯以增強(qiáng)性能,例如我們的第一輪修改中,從 DOM 的分析模式改為 SAX 模式。另外是從代碼的調(diào)用次數(shù)上入手,減少性能不佳代碼的調(diào)用次數(shù)。例如在這里,通過(guò)進(jìn)一步分析,具有性能瓶頸的方法用于產(chǎn)生用于 XML 分析的解析器,邏輯非常簡(jiǎn)單,但卻被調(diào)用了 24 次。所以我們可以從減少次數(shù)的角度來(lái)增強(qiáng)性能。

分析代碼,我們可以創(chuàng)建一個(gè) SAX 解析器的私有變量以在每次解析 XML 的過(guò)程中重用同一個(gè)解析器對(duì)象。以如下的方式修改代碼:

重用 SAX 解析器對(duì)象的代碼
    
private
SAXParser _saxParser;

 protected
SAXParser createParser() throws
ParserConfigurationException, SAXException
 {
    if
(_saxParser == null
)
 {
        SAXParserFactory f = SAXParserFactory.newInstance
();
        f.setValidating(false
);
 _saxParser = f.newSAXParser();
 }
    return
_saxParser;
 }

之后再次執(zhí)行分析過(guò)程,會(huì)發(fā)現(xiàn),parseContent 方法的執(zhí)行時(shí)間已經(jīng)被縮減到了 0.017s 左右。通過(guò)我們的性能分析可調(diào)優(yōu),一個(gè)完成同樣任務(wù)的方法,其執(zhí)行時(shí)間已經(jīng)從 0.5s 降低到了 0.017s,相信苛刻的客戶也可以接受這樣的結(jié)果了吧。

本文通過(guò)一個(gè)示例說(shuō)明了在 Eclipse 插件開(kāi)發(fā)過(guò)程中如何使用 TPTP 進(jìn)行性能分析和調(diào)優(yōu)?梢钥吹,使用 TPTP 可以對(duì)程序運(yùn)行時(shí)的各種數(shù)據(jù)進(jìn)行直觀化、圖形化的分析。通過(guò)該工具的幫助,性能調(diào)優(yōu)以及程序運(yùn)行時(shí)狀態(tài)的分析其實(shí)是一件非常容易的事情。

上一頁(yè)1234567下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd