通过


ProfileOptimization 类

定义

通过根据先前编译期间创建的配置文件执行可能执行的方法的后台编译,改进应用程序域在需要实时 (JIT) 编译器的应用程序中的启动性能。

public ref class ProfileOptimization abstract sealed
public static class ProfileOptimization
type ProfileOptimization = class
Public Class ProfileOptimization
继承
ProfileOptimization

注解

注释

  • 配置文件优化需要多核计算机。 在其他计算机上忽略这些方法。
  • 此 API 可缩短启动时间。 这些改进与 动态分析引导优化(动态 PGO)互补,可基于观察到的执行模式改进运行时优化。

每次在应用程序域中启动配置文件优化时,都会读取在上一次使用期间创建的配置文件。 配置文件中的信息用于指导后台编译,方法是标识最有可能在启动期间执行的方法。 在多核计算机上,这会增加方法在需要时编译方法的机会,以便主应用程序线程不必调用 JIT 编译器。

每次使用时都会覆盖配置文件,因此它始终包含有关启动期间使用哪些方法的最新信息。

优化配置文件不限于应用程序域启动。 它们可用于需要大量使用 JIT 编译器的任何活动。 可以维护应用程序域的多个配置文件,以便每个此类活动都有自己的配置文件。

若要在应用程序域中使用优化配置文件,必须调用 SetProfileRoot 该方法并指定存储配置文件的文件夹。 该文件夹必须已存在。 若要开始使用配置文件,请调用 StartProfile 该方法并指定配置文件的文件名。 如果之前未记录该文件,则会在首次使用时创建该文件。 首次创建配置文件时,没有性能优势。

配置文件优化不会更改执行方法的顺序。 方法不会在后台线程上执行;如果编译方法但从未调用过,则根本不使用该方法。 如果配置文件已损坏或无法写入指定文件夹(例如,因为该文件夹不存在),程序执行将继续,而无需优化分析。

方法

名称 说明
SetProfileRoot(String)

为当前应用程序域启用优化分析,并设置存储优化配置文件的文件夹。 在单核计算机上,将忽略该方法。

StartProfile(String)

在后台线程上启动以前在指定配置文件中记录的方法的实时(JIT)编译。 启动记录当前方法使用的过程,稍后会覆盖指定的配置文件。

适用于