《程式設計珠璣(續)》第一章中就介紹了效能監視工具,對於較簡單的程式來說,效能監視工具其實可以用變數累加來計算的,但是對於較複雜的程式來說就需要比較好的效能監視工具了。而vs2010提供了乙個效能監視工具,雖然我沒有寫過大型的程式,但是感覺還是很高大上的!
效能監視工具的開啟:analyze->launch performace wizard,選擇cpu simpling,對於可執行程式來說,選擇an executable(.exe file)。輸入完整的.exe檔案路徑,然後點選finish即可。
需要注意的是這個分析表時由cpu取樣得到的,這樣你的程式如果執行特別快,還沒有來得及取樣就結束了,那麼就不能得到這個分析報告了,因此,如果執行時間過短時,需要迴圈執行多次來分析程式的效能指標。
基本概念
效能會話 可使用「效能探查器」建立效能會話,會話中包含配置資料,用於收集效能資訊以及一次或多次分析執行的結果。
建立效能會話之後,「效能資源管理器」視窗中將顯示該會話。
分析會話的名稱。
targets 資料夾顯示在會話中分析的專案或二進位制檔案。
reports 資料夾包含一次或多次收集執行的分析資料檔案。
您可以單擊某個檔名,並選擇效能資訊(如函式呼叫、記憶體分配以及特定函式的詳細資訊)的檢視。
每個檢視都顯示在 visual studio 主視窗中。
取樣方法
「取樣」是一種統計分析方法,用於顯示執行應用程式中大多數使用者模式工作的函式。
若要加快應用程式的執行速度,可先從取樣這一塊下手。
「取樣」方法將按指定時間間隔收集在應用程式中執行的函式的相關資訊。
完成分析執行後,visual studio 主視窗中將顯示分析資料的「摘要」檢視。
「摘要」檢視將顯示最活躍函式的呼叫樹(稱為「熱路徑」,在其中執行了應用程式中的大多數工作),此外,還將列出執行單個工作最多的函式,並提供乙個可用於重點顯示取樣會話特定段的時間線圖。
開始分析之前,可執行以下操作,以確保不會遇到不必要的問題。
以管理員身份執行 如果您不是所用計算機上的管理員,則應以管理員身份執行 visual studio,以確保具有使用分析工具中的某些功能所必須具有的許可權。
為實現此目的,請單擊「開始」按鈕,找到 visual studio 應用程式圖示,右擊該圖示,然後單擊「以管理員身份執行」。
將活動生成配置設定為「發布」 除錯版本會向應用程式中插入附加診斷**,但它不包括編譯器在發布版本中執行的優化。
分析應用程式的發布版本可以提供有關應用程式效能的更準確的資料。
若要更改活動配置,請在「生成」選單上單擊「配置管理器」,然後在該對話方塊中的活動解決方案配置下選擇「發布」。
獲取 windows 符號檔案 如果分析呼叫 windows 函式的**,應確保具有最新的 .pdb 檔案。
如果沒有這些檔案,報告檢視中列出的 windows 函式名稱會比較晦澀難懂。
有關如何確保具有所需檔案的更多資訊,請參見如何:引用 windows 符號資訊
。若要獲取需要分析的資料,必須先建立效能會話,然後執行該會話。
利用「效能嚮導」可執行這兩項操作。
在 visual studio 中開啟解決方案。
在「分析」選單上,單擊「啟動效能嚮導」。
接受「cpu 取樣(建議)」的預設設定,然後單擊「下一步」。
接受預設專案,然後單擊「下一步」。
請確保選中了「在嚮導完成後啟動分析」核取方塊,然後單擊「完成」。
此時將啟動應用程式,探查器開始收集資料。
練習可能包含效能問題的功能。
採用通常的做法關閉應用程式。
應用程式執行完成後,visual studio 主視窗中將顯示分析資料的「摘要」檢視,「效能資源管理器」視窗中將顯示新會話的圖示。
執行完效能會話後,visual studio 主視窗中將顯示分析報告的「摘要」檢視。
建議在資料分析的開始階段,使用「摘要時間線」依次檢查「熱路徑」、執行最多工作的函式的列表,最後集中檢查其他函式。
您還可以在「錯誤列表」視窗中檢視分析建議和警告。
請注意,取樣方法可能無法提供您所需的資訊。
舉例來說,只有當應用程式執行使用者模式**時才會收集樣本。
因此,某些功能(如輸入和輸出操作)不會被取樣捕獲。
分析工具提供了多種收集方法,可使您重點收集重要的資料。
有關其他方法的更多資訊,請參見如何:選擇收集方法
。 圖中每個帶編號的區域都與過程中的某個步驟相關。
在「摘要」檢視中,「熱路徑」顯示應用程式呼叫樹中具有最高非獨佔樣本的分支。
它是收集資料時最活躍的執行路徑。
高非獨佔值可表示可以優化生成呼叫樹的演算法。
查詢位於路徑最低級別的**中的函式。
注意,路徑也可以包含系統函式或外部模組中的函式。
「非獨佔樣本數」指示該函式及其呼叫的任何函式所執行的工作量。
高非獨佔計數指向整體消耗資源最多的函式。
「獨佔樣本數」指示函式體中的**執行的工作量(不包括該函式呼叫的函式所執行的工作量)。
高獨佔計數可能表示函式本身存在效能瓶頸。
單擊函式名稱可顯示分析資料的「函式詳細資訊」檢視。
「函式詳細資訊」檢視以圖形方式呈現所選函式的分析資料,並顯示呼叫該函式的所有函式以及所選函式呼叫的所有函式。
若要繼續進行分析,請從「檢視」下拉列表中選擇「摘要」以返回「摘要」檢視。
然後檢查「執行單個工作最多的函式」中的函式。
此列表顯示具有最高獨佔樣本的函式。
這些函式的函式體中的**執行了大量工作,並且您可以對它進行優化。
若要進一步分析某個特定函式,請單擊函式名稱以在「函式詳細資訊」檢視中顯示該函式。
若要繼續研究分析執行,可以通過使用「摘要」檢視中的時間線顯示某段分析資料中的「熱路徑」和「執行單個工作最多的函式」,以重新分析所選段。
例如,如果重點顯示時間線中某個較小的峰值,則可能會顯示耗費大量資源的呼叫樹和函式,這些呼叫樹和函式未在整個分析執行的分析中顯示。
若要重新分析某段,請在「摘要時間線」框中選擇該段,然後單擊「按選定內容篩選」。
探查器還使用一組規則來建議改進分析執行的方法,並標識可能的效能問題。
如果發現了問題,則會在「錯誤列表」視窗中顯示警告。
若要開啟「錯誤列表」視窗,請在「檢視」選單上單擊「錯誤列表」。
找到並優化乙個或多個函式後,可以重複分析執行,並比較資料以了解所做更改對應用程式效能的影響。
更改**。
若要開啟「效能資源管理器」,請在「檢視」選單上單擊「其他視窗」,然後單擊「效能資源管理器」。
在「效能資源管理器」中,右擊要重新執行的會話,然後單擊「啟動並啟用分析功能」。
在重新執行會話之後,將向「效能資源管理器」中該會話的「reports」資料夾新增另乙個資料檔案。
同時選擇原始分析資料和新分析資料,右擊所選內容,然後單擊「比較效能報告」。
此時將開啟乙個新的報告視窗,其中顯示比較的結果。
有關如何使用比較檢視的更多資訊,請參見如何:比較探查器資料檔案
。
如何提高VS2010的效能,VS2010不再卡
教大家幾個技巧可以稍微讓你覺得它沒那麼卡!一 vs2010選項視覺體驗設定 工具 選項 環境 視覺體驗的勾選都去掉。不解釋,你懂得。不過還是建議開啟硬體加速 二 禁用intellisense 工具 選項 文字編輯器 c c 高階 禁用intellisense設為true 這個功能很好用。相較於vis...
VS2010工具之一GhostDoc
technorati 標籤 vs2010,ghostdoc 1.1 簡介 ghostdoc是visual studio的乙個免費外掛程式,可以為開發人員自動生成xml格式的注釋文件。1.2 優點 ghostdoc使用的優點自然是可以快速生成注釋,提高開發效率,但是缺點也不少,首先她生成的注釋都是英文...
VS2010中dumpbin工具的使用
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!用vs2010生成的.obj檔案 lib庫 dll庫 exe執行檔案,如果想檢視其中這些檔案或庫包含了哪些函式以及相關的資訊 符號清單 可以通過vs2010自帶的dumpbin工具來完成。dumpbin.exe為microsoft coff二進位制...