você pode usar o compilador Phoenix como um NGEN mais poderoso?
-
01-07-2019 - |
Pergunta
No caso de você não sei de Phoenix, é um quadro compilador da Microsoft, que está aparentemente vai ser o alicerce de todos os seus novos compiladores. Ele pode ler no código de CIL, x86, x64 e IA64; e código emitem em x86, x64, IA64 ou CIL.
Posso usá-lo para transformar um aplicativo .NET pura em um aplicativo nativo puro? Com isso quero dizer, ele não terá que carregar qualquer .Net .dll (nem mesmo mscoree), e terá a mesma semântica? Isto é excluindo Reflexão, claro.
Solução
Sem saber muito sobre Phoenix, a fim de ter uma corrida .NET aplicativo nativamente você vai também precisa de uma versão nativa do quadro, a menos que você não usar a estrutura (que é praticamente impossível).
Além disso, o CLR inclui a coleta de lixo, montagem de carga, etc, então despejar a parte interpretação do CLR provavelmente não vai fazer muita diferença para o desempenho do .NET aplicativos.
Além disso, a partir do Phoenix FAQ :
Q. Como faço para redirecionar a partir de uma imagem nativa para uma imagem MSIL (ou vice-versa)?
A. Não muito facilmente. Este não é um cenário suportado, e embora possa ser teoricamente possível, não sabemos de ninguém que tenha realmente feito isso.