Compartilhar via


ProfileOptimization Classe

Definição

Melhora o desempenho de inicialização de domínios do aplicativo em aplicativos que exigem o compilador JIT (Just-In-Time), executando a compilação em segundo plano dos métodos que provavelmente serão executados, com base nos perfis criados durante as compilações anteriores.

public ref class ProfileOptimization abstract sealed
public static class ProfileOptimization
type ProfileOptimization = class
Public Class ProfileOptimization
Herança
ProfileOptimization

Comentários

Importante

A otimização de perfil requer um computador multicore. Os métodos são ignorados em outros computadores.

Sempre que você inicia a otimização de perfil em um domínio de aplicativo, o perfil que foi criado durante o uso anterior é lido. As informações no perfil são usadas para orientar a compilação em segundo plano identificando os métodos que provavelmente serão executados durante a inicialização. Em computadores multicore, isso aumenta as chances de um método já ser compilado pelo tempo necessário para que o thread de aplicativo main não precise chamar o compilador JIT.

O arquivo de perfil é substituído em cada uso, portanto, ele sempre contém as informações mais recentes sobre quais métodos são usados durante a inicialização.

Os perfis de otimização não estão restritos à inicialização do domínio do aplicativo. Eles podem ser usados para qualquer atividade que exija uso intenso do compilador JIT. Você pode manter vários perfis para um domínio de aplicativo para que cada atividade desse tipo tenha seu próprio perfil.

Para usar perfis de otimização em um domínio de aplicativo, você deve chamar o SetProfileRoot método e especificar a pasta em que os perfis são armazenados. A pasta já deve existir. Para começar a usar um perfil, chame o StartProfile método e especifique o nome do arquivo do perfil. Se o arquivo não tiver sido gravado anteriormente, ele será criado no primeiro uso. Não há nenhum benefício de desempenho na primeira vez que um perfil é criado.

A otimização de perfil não altera a ordem na qual os métodos são executados. Os métodos não são executados no thread em segundo plano; se um método for compilado, mas nunca chamado, ele simplesmente não será usado. Se um arquivo de perfil estiver corrompido ou não puder ser gravado na pasta especificada (por exemplo, porque a pasta não existe), a execução do programa continuará sem criação de perfil de otimização.

Métodos

SetProfileRoot(String)

Permite a criação de perfil de otimização para o domínio de aplicativo atual de otimização e define a pasta na qual os arquivos de perfil de otimização são armazenados. Em um computador de núcleo único, o método é ignorado.

StartProfile(String)

Inicia a compilação JIT (Just-In-Time) dos métodos que foram registrados anteriormente no arquivo de perfil especificado em um thread em segundo plano. Inicia o processo de gravação do uso do método atual, que posteriormente substituirá o arquivo de perfil especificado.

Aplica-se a