性能測試工具VTune

1. VTune介紹

VTune可視化性能分析器(Intel VTune Performance Analyzer)是一個用於分析和優化程序性能的工具,作爲Intel爲開發者提供的專門針對尋找軟硬件性能瓶頸的一款分析工具,它能確定程序的熱點(hotspot),找到導致性能不理想的原因,從而讓開發者據此對程序進行優化。

VTune性能分析器能通過以下的手段發現和定位程序中的性能問題

  • 從當前系統中收集性能數據
  • 系統到源代碼不同的層次上,以不同的互動形式來組織和展示數據;
  • 發現潛在的性能問題,並提出改進措施。

2. VTune的使用

I. 新建工程

  • 啓動VTune性能分析器,如圖所示,點擊新建工程按鈕,新建一個性能分析工程
    這裏寫圖片描述

II. 選擇要分析的目標文件

  • 如圖所示,選擇要分析的目標文件,並填寫分析的文件的執行參數
    這裏寫圖片描述

III. 新建分析類型

  • 如圖所示,選中目標工程,右擊,可以新建目標文件的分析類型
    這裏寫圖片描述

3. 分析性能類型的介紹

  • 如圖所示,英特爾VTune性能分析器,可以分析的性能類型有:”Algorithm Analysis“、”Microarchitecture Analysis“、”Knights Corner Platform Analysis“和”Custom Analysis“四大類。
    這裏寫圖片描述

① Algorithm Analysis(算法分析)

  • 如圖所示,”Algorithm Analysis(算法分析)“是運用最廣泛的分析類型。它包含”Basic Hotspots(基礎熱點)“、”Advanced Hotspots(高級熱點)“、“Concurrency(併發)“和”Locks and Waits(資源鎖和等待)“四種子分析類型。下面詳細介紹”Basic Hotspots(基礎熱點)“的使用。
    這裏寫圖片描述

a.(Basic Hotspots)基礎性能熱點分析

  • 選擇要分析的目標程序,選擇算法分析裏的基礎性能熱點分析。設置CPU的採樣間隔時間,點擊右上角的“Start”按鈕開始分析目標程序。
    這裏寫圖片描述

  • 點擊開始分析數據後,VTune就開始運行目標程序,並收集相關的性能數據,當收集完成之後,需要手動停止數據的收集。

這裏寫圖片描述

8類數據

停止數據分析後,可以獲得8類數據,分別爲”Analysis Target“、”Analysis Type“、”Collection Log“、”Summary“、”Bottom-up“、”Caller/Callee“、”Top-down Tree“和”Tasks and Frames“。其中”Analysis Target“、”Analysis Type“和”Collection Log“三類數據,不做過多分析。主要分析其他幾類數據所包含的內容。
這裏寫圖片描述

Summary

Summary主要分析的數據有:”Elapsed Time(經過的總時間)“、”Top Hotspots(高熱點部分)“、“CPU Usage Histogram(CPU使用直方圖)“和”Collection and Platform Info(收集信息和平臺信息)
這裏寫圖片描述

  • Elapsed Time信息,主要有總線程數量開銷時間(花費在同步和線程庫函數的時間)、自旋時間(CPU等待其它同步資源處理的自旋等待時間)、CPU時間(CPU運行程序所花費的總時間)和暫停時間
    這裏寫圖片描述

  • Top Hotspots信息,會列舉VTune分析的程序裏的活躍度最高(最耗時)的部分,例如:自旋鎖、函數等。
    這裏寫圖片描述

  • CPU Usage Histogram信息,顯示CPU使用直方圖。
    這裏寫圖片描述

  • Collection and Platform Info信息,包含了應用程序命令行、操作系統、CPU等信息。
    這裏寫圖片描述

Bottom-up

Bottom-up可以查看函數/模塊/線程調用時間的耗費,主要分析的數據有:進程、線程、模塊、函數和調用的堆棧信息。可以顯示程序的進程、線程號,函數的開始地址,CPU開銷時間,CPU自旋時間等信息。
這裏寫圖片描述

Caller/Callee

Caller/Callee主要分析的數據有:CPU總利用時間、各個函數自我利用時間、各個函數的自我開銷時間、各個函數的調用者和被調用者

這裏寫圖片描述

Top-down Tree

Top-down Tree是以樹形結構展示每個調用所花費的時間及佔比,可以從時間花費最多的地方往下一層一層的展開,找到關鍵函數分析其性能。其分析的內容和Caller/Callee基本相同

這裏寫圖片描述

Platform

Platform主要以直方圖的形式詳細展示了程序的分析時間CPU使用時間以及進程和各個線程的運行時間

這裏寫圖片描述

4. 總結

VTune可以幫助用戶定位程序中的”熱點”,所謂的”熱點”就是程序中花費執行時間最長的代碼段。VTune性能分析器能夠收集應用程序和系統上的性能數據,然後以圖形和表格的形式顯示出來。從這些顯示的數據中,用戶能夠分析應用程序的性能,從而知道程序中哪個部分執行的慢,爲什麼執行的慢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章