• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Eclipse的TPTP工具使用方法

    發布: 2007-11-19 20:00 | 作者: Eric Zhang | 來源: Eric Zhang ‘Blog | 查看: 2708次 | 進入軟件測試論壇討論

    領測軟件測試網

    • 為診斷出的性能問題定義一個解決方案

    通過分析以上這些數據,我們發現改進createParser()執行時間的一個途徑就是改進SAXParserFactory的兩個方法的執行,既然我們無法控制這些方法的實現,唯一的途徑就是減少調用這些方法的次數。

    解決方案是創建一個parser實例,并且復用其去解析所有的xml文件,取代原來每解析一個文件就創建一個parser實例的做法。讓我們打開源代碼并且修復它。

    提示:在進行任何之類優化之前,要確保被代碼支持。例如,當SAXParser不能同時被多線程使用時,實例能被復用;嚴格來將,實例在復用之前應該被重置(reset),擁有一套全面的單元測試集來檢驗這些修改是個不錯的主意。

    • 在源代碼中應用性能優化

    可以在Method Invocation Details視圖中右鍵-->Open Source來打開源代碼。源代碼如下圖:

    圖片

     

    上圖中顯示了createParser()方法的源代碼。注意該方法每次調用都創建一個新的SAX parser 。更新代碼,只創建一個parser實例,復用于解析每個xml文件,如下圖所示:

    圖片

    正如在上圖中描述的,定義了一個全局的SAXParser 實例變量parser,createParser()方法初始化parser然后在每次被調用時返回該實例。

    讓我們再次執行一下Product catalog程序,驗證修復的結果。

    • 驗證性能優化

    在Java透視圖中選擇Product類,右鍵--->Profile As -->Java Application,程序執行完后,打開Execution Statistics 視圖,比較執行時間,下圖所示的是做了性能優化后的結果:

    圖片

    正如你看到的,createParser()方法的執行時間已經僅有19%,而在優化執行卻是將近 43%。注意,隨著xml文件數量的增加,提升的值將更加明顯,所以,隨著product文件的增加而減少的程序執行時間將是指數級的。

    總結:

    本文論述了TPTP性能測試工具能被用于分析和解決性能問題,本文沒有涉及TPTP工具更多的其他使用方面,如果你想了解更多的關于TPTP工具的能力,有一套的教程和用戶手冊在這里。


     

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    33/3<123

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>