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

分析性能瓶頸

可以使用 Execution Statistics 視圖來分析程序中各個方法的運行時間。打開該視圖的方式是,數(shù)據(jù)收集進程上點右鍵,選擇以 Execution Statistics 方式打開。

在該視圖中,顯示了所有調(diào)用到的方法及其運行時間。運行時間有多種表示方法。常用到的是“cumulative time”。該時間表示了這個方法調(diào)用的總耗時,其中包含其調(diào)用其他方法的時間。

我們 MyShop 插件的運行結(jié)果如上圖所示?梢钥吹剑琯etProductDir 方法耗時長。而該方法的作用是打開一個文件選擇對話框,等待用戶的選擇,等選擇完成后再關(guān)閉對話框。因此其時中包含了等待用戶選擇的部分。這當然應該在 我們的性能分析中排除在外。除此之外耗費時間長的是 parseContent 方法。該方法用于從包含產(chǎn)品信息的 XML 文件中獲取真正的產(chǎn)品信息數(shù)據(jù)。雙擊該方法查看該方法調(diào)用的詳細數(shù)據(jù)。

需要注意的是,在下面的 Selected method invokes 表格中,顯示結(jié)果是通過我們設置的過濾器過濾后的結(jié)果。在上面的結(jié)果中,我們可以看到,我們自己的方法調(diào)用花費的時間都很小。由此可見,消耗時間更多的地方是在 XML 解析的方法中。

解決性能問題并驗證修改

通過對上面運行數(shù)據(jù)的分析,我們的結(jié)論是,對性能影響大的是 XML 的解析。而根據(jù)得到的數(shù)據(jù),24 條商品數(shù)據(jù)的獲取已經(jīng)需要 0.5s 的時間,而在正常使用中的商品數(shù)量則會達到根本不可忍受的程度。通過對代碼的分析,我們得知目前的 XML 解析使用的是 DOM 的分析方

式,而在我們的應用中只有 XML 的讀操作而沒有寫操作。在這種方式下,SAX 的解析方式效率要更高。因此我們可以將 XML 解析部分的代碼改為 SAX 方式。

    創(chuàng)建 ProductSAXParser 類

創(chuàng)建該類實現(xiàn)我們的 ProductParser 接口并繼承自 DefaultHandler 接口完成大部分的分析邏輯。

 

    實現(xiàn) Parser 方法

實現(xiàn) ProductParser 接口和 DefaultHandler 定義的方法完成解析邏輯。

 

    更改 XML 解析方式

在父類 ShopView 中更改調(diào)用的解析器為我們新創(chuàng)建的 SAX 實現(xiàn)。

具體的代碼可參考本文附件所帶的示例代碼。

修改好代碼并按照上面的步驟從新運行數(shù)據(jù)分析,可以看到,現(xiàn)在的性能已經(jīng)大為改觀:

可以看到,XML 解析方法的運行時間已經(jīng)由 0.5s 左右縮短到了大約 0.057s。

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