[發明專利]性能分析工具中快速定位函數性能記錄的方法及裝置有效
| 申請號: | 201210104308.1 | 申請日: | 2012-04-10 |
| 公開(公告)號: | CN103365931A | 公開(公告)日: | 2013-10-23 |
| 發明(設計)人: | 馬江 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F9/44 |
| 代理公司: | 北京安信方達知識產權代理有限公司 11262 | 代理人: | 吳艷;龍洪 |
| 地址: | 518057 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 性能 分析 工具 快速 定位 函數 記錄 方法 裝置 | ||
技術領域
本發明涉及在計算機性能分析工具技術領域,一種性能分析工具中快速定位函數性能記錄的方法及裝置。
背景技術
性能分析工具通常需要以函數為單位記錄相關數據,并且,在性能分析工具中,產生數據往往耗時不多,查找函數對應記錄所在的位置反而是性能瓶頸。
現有性能分析工具中使用的查找方法,主要包括了hash(哈希)查找類和二分查找類(包括平衡查找樹等)兩類。這兩類查找方法的查找速度都難以得到保證,原因在于:hash查找需要對hash算法自身的參數進行調優才能有較好的性能,但是性能分析工具無法為每一個被測程序做單獨優化;而二分查找在面對大規模數據的時候,受制于cache(緩存)的大小,內存訪問次數快速上升,性能下降非常明顯。
發明內容
本發明解決的技術問題是提供一種性能分析工具中快速定位函數性能記錄的方法及裝置,為性能分析工具中提供一種快速定位函數性能記錄內存的方法,使其在面對大規模數據和高頻率性能采樣時,仍能保持優秀的性能。
為解決上述技術問題,本發明提供了一種性能分析工具中快速定位函數性能記錄的方法,
在被測程序的生成階段,為所述被測程序中的每一個被測函數進行編號,統計被測函數的總個數,并根據統計的所述被測函數的總個數創建局部性能記錄數組;
在所述被測程序的運行階段,根據所述被測函數的編號從所述局部性能記錄數組中查找所述被測函數對應的性能記錄。
進一步地,所述局部性能記錄數組中存放每個被測函數對應的性能記錄單元,或者每個被測函數對應的性能記錄單元的指針。
進一步地,在所述被測程序的生成階段,編譯器生成表達被測函數編號的代碼;鏈接器在重定位時修改編譯器生成的代碼,為每個所述被測函數生成函數編號。
進一步地,在所述被測程序的生成階段,所述編譯器為被測函數掛接性能測量鉤子函數,并將被測函數的編號作為性能測量鉤子函數的傳入參數;
在所述被測程序的運行階段,所述被測函數運行時進入所述性能測量鉤子函數,所述性能測量鉤子函數從傳入參數中獲得所述被測函數的編號,并將所述被測函數的編號作為數組下標,在局部性能記錄數組中查找到對應的性能記錄。
進一步地,所述鏈接器完成鏈接后,將所述性能測量鉤子函數、與性能分析工具的初始化函數作為一個單獨的目標文件,分別鏈接進入所述被測程序以及被測動態庫;
所述被測程序啟動或者所述被測動態庫被裝載時,所述被測程序或者所述被測動態庫的初始化函數根據統計的所述被測函數的總個數創建所述局部性能記錄數組。
本發明還提供了一種性能分析工具中快速定位函數性能記錄的裝置,包括性能記錄關聯模塊和性能記錄查找模塊,其中:
所述性能記錄關聯模塊用于,在被測程序的生成階段,為所述被測程序中的每一個被測函數進行編號,統計被測函數的總個數,并根據統計的所述被測函數的總個數創建局部性能記錄數組;
所述性能記錄查找模塊用于,在所述被測程序的運行階段,根據所述被測函數的編號從所述局部性能記錄數組中查找所述被測函數對應的性能記錄。
進一步地,所述性能記錄關聯模塊進一步包括編譯器代碼生成單元和鏈接器函數編號生成單元,
所述編譯器代碼生成單元用于,生成表達被測函數編號的代碼;
所述鏈接器函數編號生成單元,在重定位時修改所述編譯器代碼生成單元生成的所述表達被測函數編號的代碼,為每個所述被測函數生成函數編號。
進一步地,所述性能記錄關聯模塊進一步還包括編譯器鉤子函數植入單元,
所述編譯器鉤子函數植入單元用于,在所述被測程序的生成階段,為被測函數掛接性能測量鉤子函數,并將被測函數的編號作為性能測量鉤子函數的傳入參數;
所述性能記錄查找模塊用于,在所述被測程序的運行階段,所述被測函數運行時進入所述性能測量鉤子函數,所述性能測量鉤子函數從傳入參數中獲得所述被測函數的編號,并將所述被測函數的編號作為數組下標,在局部性能記錄數組中查找到對應的性能記錄。
進一步地,所述性能記錄關聯模塊進一步還包括鏈接器初始化函數鏈接單元,
所述鏈接器初始化函數鏈接單元用于,所述鏈接器完成鏈接后,將所述性能測量鉤子函數、與性能分析工具的初始化函數作為一個單獨的目標文件,分別鏈接進入所述被測程序以及被測動態庫。
進一步地,所述性能記錄關聯模塊進一步還包括性能記錄數組創建單元,
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210104308.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基于平臺的社交匹配方法
- 下一篇:一種加工軟碎物料用調整定型壓塊機





