Używam C# .NET dla aplikacji sieci web. Czytałem, że kompilacja JIT dzieje się w czasie wykonywania, co oznacza (popraw mnie, jeśli się mylę), że kompilacja nastąpi, gdy żądanie trafi IIS.Kiedy następuje kompilacja z wyprzedzeniem (AOT)?
Kolejna kompilacja odbywa się przy użyciu csc.exe
podczas fazy kompilacji rozwiązania przy użyciu MSBuild
do konwersji kodu wysokiego poziomu na CIL.
Jeśli nie było JIT i chcieliśmy użyć AOT, to gdzie by to wszystko pasowało?
Moje pytanie brzmi, w którym punkcie w całej fazie od kodu budynku do pierwszego żądania, kompilacja AOT dzieje? (Platforma/framework nie ma znaczenia)
"Budynek" jest wtedy, gdy kompilacja AOT odbywa się tak jak aplikacje C, C++, kod C# zostanie skompilowany bezpośrednio do kodu maszynowego dla konkretnej platformy, która została określona podczas "budowania". – shashi
Cóż, platforma/framework mają znaczenie. Jedynym kompletnym czystym AOT w .NET jest kilka tygodni przed typowym użytkownikiem uruchamiającym program. Na serwerze Store w Redmond, używając .NET Native. Nie ma nic wspólnego z aplikacją internetową, możesz używać tylko Ngen. Kod odbicia i niektóre generyczne są wciąż pomijane. –