性能测试工具VTune

版权声明:本文为博主原创文章,未经博主 请随意转载!! https://blog.csdn.net/VonSdite/article/details/81876706

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性能分析器能够收集应用程序和系统上的性能数据,然后以图形和表格的形式显示出来。从这些显示的数据中,用户能够分析应用程序的性能,从而知道程序中哪个部分执行的慢,为什么执行的慢。

猜你喜欢

转载自blog.csdn.net/VonSdite/article/details/81876706