André Nobre

ASP.NET MVC, Architecture, Debugging, Commerce Server, WinDBG...

Melhoria de Performance no .NET 4.5: Multicore Just-in-Time (JIT).

Olá pessoal!

Dando uma lida nas melhorias de performance da plataforma .NET 4.5, me deparei com algo extremamente interessante: Multicore Just-in-Time (JIT).

A teoria é muito simples: por que não utilizar vários núcleos para a compilação JIT? Além disto, será que seria possível compilar os métodos em uma determinada ordem, onde os primeiros fossem aqueles com maior probabilidade de execução?

Isto parece meio loucura mas é o que o Multicore Just-in-Time (JIT) faz. E o melhor de tudo, de uma forma extremamente simples.

As aplicações ASP.NET 4.5 já o fazem por default. Em outras ocasiões, basta executar duas linhas de código: uma indicando a pasta onde o arquivo que armazenará o profile ficará, e a outra para iniciar o procedimento. Este profile é o arquivo responsável por armazenar a ordem de compilação dos métodos, para que aqueles com maior chance de serem executados mais cedo sejam compilados antes.

Código para este processo:

ProfileOptimization.SetProfileRoot(@"C:\ProfileRoot");
ProfileOptimization.StartProfile("profile");

Esta otimização na compilação só será notada após a criação do profile. Portanto, na primeira vez nada será percebido.

Ao final do processo, um arquivo com o nome escolhido (no caso profile) será criado, na pasta indicada como root:

image

Fica a dica!

Abraços!

Posted: Apr 05 2012, 02:08 AM by anobre | with 1 comment(s)
Filed under:

Comments

kristinajons said:

I read your post it is very interesting and creative post about use of JIT in ASP.net.

THanks for sharing,

# April 5, 2012 7:07 AM
Leave a Comment

(required) 

(required) 

(optional)

(required)