1. 程式人生 > >多執行緒程式評測工具--Intel Vtune 安裝及使用

多執行緒程式評測工具--Intel Vtune 安裝及使用

VTune Amplifier XE Tutorials,即為VTune  
 
一、Amplifer XE能做什麼?  VTune Amplifier XE 可以幫助你分析演算法選擇,標識出你的應用程式怎樣更好的利用可
用的硬體資源。使用VTune Amplifier XE 可以定位或者決定如下內容: 
1、 在你的程式中或者整個系統中時間消耗最多的函式; 
2、 沒有有效利用處理器時間的程式碼片段; 
3、 優化序列和執行緒化效能的最好程式碼片段; 4、 影響程式效能的同步物件; 
5、 程式的I/O操作是否花費很多時間,以及在哪裡、為什麼花費時間; 6、 不同的同步方法,不同的執行緒數量或者不同演算法對於效能的影響; 7、 執行緒活躍性和變遷; 8、 程式碼中硬體相關的瓶頸; 
 
VTune Amplifier XE Tutorials 
嚮導告訴你如何使用VTune Amplifier XE 分析一個樣本程式的效能,只需要指定軟體和硬體相關的程式碼。可以提供如下功能: 
1、尋找熱點; 2、分析鎖和等待; 3、標識硬體問題;  
二、基本操作  在安裝有VS2005或以上版本的系統中安裝VTune Amplifier XE ,安裝中選擇整合到VS*選項。  安裝完成後在VS的工具欄會有幾個圖示,是VTune Amplifier XE的功能圖示,如下圖: 
 
 
在專案的郵件選單中會出現一個選項,如下圖 
 
 
展開後選擇選單New Analysis,即可進入如下介面 




  wk_ad_begin({pid : 21});wk_ad_after(21, function(){$('.ad-hidden').hide();}, function(){$('.ad-hidden').show();});    
  




 
 選擇一個分析型別,這裡選擇熱點分析(Hotspots)點選Start即可開始。開始後,會自動生成前面選擇的工程,啟動程式,開始收集資料,收集過程中可以點選右側的Stop按鈕,停止收集工作,否則將會一直進行執行直到程式退出。  停止收集後,將會自動進行分析。分析完畢就可以看到結果了。如下圖 
 
 
三、演算法分析功能說明  輕量級熱點分析(Lightweight Hotspots)  確定最消耗時間的程式碼。輕量級熱點分析不會有很大的負載,不會收集呼叫棧資訊。也可以用此功能來對系統中的所有程序進行抽樣。輕量級熱點分析基於硬體事件進行樣本收集。 






  




輕量級熱點分析獲取的資訊 
 
 
目標程序及其所有子程序的資訊,包括執行緒、耗用CPU時間的函式。檢視資訊時可以按照程序、執行緒、模組等進行篩選。 
  熱點分析  指出程式中最耗時的程式碼。熱點分析收集呼叫棧資訊。熱點分析不能用來分析整個系統,但是可以載入一個程式或者附加到一個程序中進行分析。熱點分析使用使用者態取樣和跟蹤分析方法。 
熱點分析結果 
 
  可以獲得目標程序中的執行緒資訊,最耗用時間的函式及其呼叫關係。從上圖中可以看出,在耗用時間最多的函式是載入點陣圖的LoadBitmapFromFile函式。這是因為測試期間反覆進出房間,顯示房間玩家列表是多次載入點陣圖所致,這也可能是客戶端進入房間過程有卡介面的現象的部分原因。  
 






  




 鎖及等待分析  指出程式在什麼地方等待同步物件或者I/O操作,並找出這些所如何影響效能。鎖及等待分析使用使用者態取樣和跟蹤收集方法。  分析結果 
 
 
可以得到在各種需要等待的操作中花費的時間,等待次數,及呼叫棧的情況。   執行緒流動性分析  執行緒流動性是指同時處於可執行狀態的執行緒數量。分析程式是如何利用可用邏輯CPU的,幫助發現那裡的並行操作造成了同步開銷,並指出潛在的可並行化部分。  分析結果 
 
 具體指標仍待進一步研究方可知其具體含義。 
  
 除演算法分析之外,VTune Amplifier XE Tutorials還提供了針對Inter特定CPU的分析,未作研究和實驗。  
單獨執行VTune Amplifier XE Tutorials時只需指定可執行檔案,選擇分析型別即可






  




開始進行分析。分析結果與整合在VS中的功能一致。