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

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

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

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

    軟件的性能設計

    發布: 2009-9-01 11:39 | 作者: 不詳 | 來源: 領測軟件測試網 | 查看: 101次 | 進入軟件測試論壇討論

    領測軟件測試網

    在RegExpMatcher中,在定義接口時使用String對象對減少復雜性或增加可移植性的幫助并不大,對性能卻有著相當大的影響,這么做是得不償失的。在設計接口時使用可互換類型往往很有吸引力,因為這樣能夠使接口看起來更"干凈"一些,但你應該確信你為此所作的折衷是明智的。有時━━就象RegExpMatcher那樣,調用程序可以使用多種輸入、輸出格式,應該考慮如何能夠更方便地滿足它們的需求。

      值得指出的是,對使用可互換類型對性能的影響進行量化不是一件容易的事兒。如果對調用BadRegExpMatcher的代碼進行分析,它將指派運行時間庫創建輸入用的String對象,這個String對象是為滿足BadRegExpMatcher的需求而生成的。如果要衡量一個組件對性能的真正影響,不僅需要評估代碼的資源利用情況,還需要評估建立調用的代碼以及調用返回的代碼的資源利用情況,要使用標準的分析工具完成這些分析工作是非常困難的。 


     
    優化軟件性能的方法 


    添加較小的輔助性函數

      在最初版本的Swing工具包中,創建過多的Point、Rectangle和Dimension對象會嚴重地影響程序的性能。盡管一次在一個Point或Rectangle對象中返回多個值似乎更有效率,但這樣作的代價要比調用多個方法高得多。在最近的Swing版本推出之前,這個問題可以通過簡單地在組件或其他類中添加一些輔助性的方法得到改善,如下所示:

      public int getX() { return myBounds.x; }
      public int getY() { return myBounds.y; }
      public int getHeight() { return myBounds.height; }
      public int getWidth() { return myBounds.width; }


      現在,調用程序可以在不創建臨時對象的情況下得到同樣的結果,如下所示:

      int x = component.getX();
      int y = component.getY();
      int h = component.getHeight();
      int w = component.getWidth();


      原來的getBounds()仍然可以使用,較小的輔助性函數只不過提供了一種實現同樣目標的效率更高的方法,其結果是,Rectangle的接口將完全暴露在組件的接口中。當修改Swing使之支持并可以使用這些較小的輔助性函數后,其結果是,Swing中的許多操作的運行速度都比原來快了二倍。由于GUI代碼對性能比較敏感,這一改進的意義是重大的。

      這種技術帶來的負作用是對象擁有的方法更多了,而且要獲取同一種信息可以有多種方法,這就使文件變得相當大而且也更加復雜了,不利于用戶采用這一技術。但是,象Swing的例子顯示的那樣,在對性能要求比較高的情況下,這種優化技術還是十分有效的。


    延伸閱讀

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


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