在英特尔® Parallel Amplifier 中使用求差功能查找性能下降

简介:
应用程序开发是一个反复的过程,在不断演化的代码中很容易引入新的性能问题。如果您的典型开发模式是签出某版本代码,修改现有代码或添加新代码,然后签入代码,那么英特尔® Parallel Amplifier的求差功能可以跟踪所有因这些更改而造成的性能下降。英特尔® Parallel Amplifier 能够显示函数和模块级别上的性能差异,使您能够确定哪些更改造成性能下降。


版本:

英特尔® Parallel Amplifier
Microsoft* Visual Studio 2005
Microsoft* Visual Studio 2008


应用注解:

传统的开发事件序列:

  1. 从版本控制系统签出源代码
  2. 基于某个基准工作负载编译和运行此版本源代码
  3. 修改现有代码或添加新代码
  4. 基于同一个基准工作负载编译和运行修改后的代码版本
  5. 如果步骤 2 和 步骤 4 结果相符,则签入代码

在上面的工作流程中,为了签入代码,应进行适当的检查,以确保原始代码和修改后的代码生成的结果相同。但是很多情况下,并没有对前后两个版本代码的性能进行严密监控以跟踪性能下降。若要在此类工作流程中跟踪性能下降,以上事件序列需要稍加改动。请看下述修改后的工作流程:

  1. 从版本控制系统签出源代码
  2. 基于某个基准工作负载编译和运行此版本源代码
  3. 运行英特尔® Parallel Amplifier(根据应用程序的特点,可以采用热点、并发性或锁定和等待分析模式 )— 命名为结果 1 (Result 1)
  4. 修改现有代码或添加新代码
  5. 基于同一个基准工作负载编译和运行修改后的代码版本
  6. 在修改后的代码上运行英特尔® Parallel Amplifier(与步骤 3 采用相同的分析类型)— 命名为结果 2 (Result 2)
  7. 使用求差功能比较步骤 3步骤 6 两次运行结果

在基于英特尔® Parallel Amplifier中运行应用程序时,结果将自动在 Visual Studio* 中打开。您可使用以下两种方法调用求差功能:

使用模式 1:

  1. 单击下图所示工具栏上红色圈内的“比较结果 (Compare Results)”按钮
  2. 对话框中要求您选择两个要进行比较的结果。在本例中,结果 1 (Result 1) 显示来自原始代码的结果文件,结果 2 (Result 2) 显示来自修改后的源代码的结果文件。
  3. 点击“比较 (Compare)”按钮进行计算(结果 1 – 结果 2)。在我们的方案中,差为正时表示性能提高,相反,差为负时表示性能下降。下图显示修改后的代码性能提高。

注意:
步骤 2 比较结果(Compare Results)对话框中结果文件的显示顺序决定是正差值还是负差值造成性能下降。

使用模式 2:

  1. 右键单击您要进行比较的结果,并在上下文菜单中选择“比较结果 (Compare Results)”选项。
  2. 弹出“比较结果 (Compare Results)” 对话框,已选中的结果文件将作为结果 1 (Result 1),再选择另一个结果文件作为结果 2 (Result 2) ,两者进行比较。点击“比较 (Compare)”按钮,查看选择对话框中结果 1 (Result 1) 和结果 2 (Result 2) 两栏生成的差值视图。

更多信息:
本文探讨了英特尔® Parallel Amplifier 中“比较结果 (Compare Results)”功能的使用模式。并重点介绍了使用此功能的不同方式以及查找性能下降的简单方法。若您对此功能有任何疑问,请登录 Intel® Parallel Studio 论坛提交您的问题。

你可能感兴趣的:(工作,Microsoft,英特尔)