本文档包含多个教程,说明如何使用性能分析器来分析各种类型的程序。每个教程都提供了对源文件使用性能分析器的步骤(教程中的大多数步骤都包括屏幕抓图)。
所有教程的源代码都包括在单个分发中。有关获取样例源代码的信息,请参见获取教程的样例代码。
包括以下教程:
此入门教程使用名为 lowfruit 的目标代码,是使用 C 语言编写的。lowfruit 程序非常简单,它包括两个编程任务的代码,这两个任务均以高效方式和低效方式实现。此教程说明如何在 C 目标程序上收集性能实验,以及如何在性能分析器中使用各种数据视图。检查每个任务的两种实现,并查看性能分析器如何显示哪个任务是高效的以及哪个任务是低效的。
此入门教程使用名为 jlowfruit 的目标代码,是使用 Java 语言编写的。与在 C 分析教程中使用的代码类似,jlowfruit 程序非常简单,它包括两个编程任务的代码,这两个任务均以高效方式和低效方式实现。此教程说明如何在 Java 目标上收集性能实验,以及如何在性能分析器中使用各种数据视图。检查每个任务的两种实现,并查看性能分析器如何显示哪个任务是高效的以及哪个任务是低效的。
此教程基于名为 jsynprog 的 Java 代码,该代码可依次执行多个编程操作。一些操作执行运算,一个操作触发垃圾收集,而多个操作使用动态装入的 C++ 共享对象,从 Java 调用本机代码并再次返回。在此教程中,您可了解各种操作是如何实现的,以及性能分析器如何显示有关程序的性能数据。
此教程基于名为 mttest 的多线程程序,该程序运行多个任务、为每个任务衍生线程以及对每个任务使用不同的同步技术。在此教程中,您可了解任务中计算之间的性能差异,以及使用硬件计数器分析来检查和了解两个函数之间的意外性能差异。
此教程也基于名为 mttest 的多线程程序,该程序运行多个任务、为每个任务衍生线程以及对每个任务使用不同的同步技术。在此教程中,检查同步技术之间的性能差异。