Con la maturazione di .net, le funzionalità JIT sono state migliorate per essere estremamente pigri. Cioè, non produrre codice macchina se non è necessario. In generale, questa è una buona cosa.Forcing JIT aggressivo
Tuttavia, se sto provando a warmup an application, potrei preferire un atteggiamento JIT aggressivo. C'è un modo per configurare un'applicazione .net in modo che tutti i metodi di una classe vengano compilati JIT, semplicemente perché -la classe è stata costruita?
In caso affermativo, il mio schema di creazione oggetto preferito potrebbe istanziare il grafico dell'oggetto della mia appliazione, e vorrei avere tutto pronto per JIT contemporaneamente. Sarebbe carino.
Questo può essere fatto?
Puoi guardare .NET Native. Afaik, al momento è solo per le app di Windows Store ma in seguito si espanderà in altri tipi. http://msdn.microsoft.com/en-us/library/dn584397(v=vs.110).aspx –
Si potrebbe usare ngen o si potrebbe fare manualmente la mia chiamata 'RuntimeHelpers.PrepareMethod' per metodo. –
Non 'sta generando il codice macchina [quando necessario] in runtime' una parte fondamentale di un compilatore JIT? C'è sempre il [Native Image Generator] (http://msdn.microsoft.com/en-us/library/6t9t5wcf (v = vs.110) .aspx), ma ovviamente ci sono i [trade-offs] (http: //blogs.msdn.com/b/clrcodegeneration/archive/2007/09/15/to-ngen-or-not-to-ngen.aspx) tra i due. – PoweredByOrange