Vtune 使用二 (自定义Configuration)

来源:互联网 发布:微店和淘宝店哪个好 编辑:程序博客网 时间:2024/06/06 16:59

简述:

不用vtune中default的设定,自定义几个设定


步骤:

1. 新建一个Activity  -->  Sampling WIzard  --> 点击OK

选择Win32与之前《一》中的步骤相同,之后,再打开matrix.exe文件,在Application to的空白处出现了matrix.exe


由于要添加自己的设定,所以点击下一步,直到如下界面,

在图中红线勾画的地方 打钩,



2.   点击完成,之后会出现下图,选中Configuration


如下图,选中Calibrate Sample After Value for all the selected events



之后是修改events , 点击events选项卡, 进入下面页面,选中蓝色部分两个vtune默认的event, 然后点击remove



选中下图中的row, 然后该项被add进入selected events中


最后改一个参数, 改为1000


之后修改一下测试时间,改为10秒


3 运行的过程中, 此时的结果如下,


发现MEM_LOAD_RETIRED.DTLB_MISS samples为135154 偏离1000 较大


4 上述结果是选择了Don't Calibrate Sample after Value ,接下来做一点改动,测试一下如果没有选择Don't 会是什么样的结果

右击,上面新建的那个Activity, 点击modify activity

勾选中上面这个,点击OK


5. 之后点击Configure, 选择Don't Calibrate Sample After value



6. 点击确定 - 确定, 然后点击Run Activity 发现这个程序在这里跑了两次,

结果为1942, 更加接近1000


小结

为什么Sample After的设定为1000之后, 使用Calibrate与否会得到不同的结论呢?

首先, Sample After的意思是: 每个逻辑CPU每秒的采样值,如果当时选择的是Don't Calibrate Sample After Value,则得到的是用缺省值或估计值开始的测试


对于这个matrix.exe程序的结果做点分析,

1. 结果是1942 接近1000

2. 相比于Don't Calibrate的结果135154,calibrerate过的结果1943笑了10的2个数量级

3. 时间如下图,耗时0.94 second


4. 测试一下100组Sample After的结果, 过程不变copy一个但是修改一下Sample After的值

耗时0.91