多執行緒程式評測工具--Intel Vtune 安裝及使用
阿新 • • 發佈:2019-01-03
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中的功能一致。
一、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中的功能一致。