O que é compilação em camadas e como raciocinar sobre ela?
A compilação em camadas permite que o JIT do .NET compile cada método duas vezes: primeiro rápido e sem otimização para colocar sua aplicação em execução, e depois de novo com otimizações completas quando o runtime sabe que um método é quente. Aqui você verá como o tier 0, o tier 1, a substituição na pilha e o Dynamic PGO se encaixam, e como observá-los e ajustá-los.