Надо сначала договориться про какую компиляцию мы ведём речь - jit aot или вообще байт-код.
Например в моно jit может быть недоступен из-за ограничений нижележащей платформы. Поэтому
Interpreted versus AOT
Which mode is best? We don’t know yet.
What we do know is that interpreted mode provides a much faster development cycle than AOT. When you change your code, you can rebuild it using the normal .NET compiler and have the updated application running in your browser in seconds. An AOT rebuild, on the other hand, might take minutes.
So one obvious thought is that interpreted mode might be for development, and AOT mode might be for production.
But that might not turn out to be the case, because interpreted mode is surprisingly much faster than you’d think, and we hear from Xamarin folks who use .NET for native mobile apps that regular (non-AOT) .NET assemblies are very small and compression-friendly compared with AOT-compiled assemblies. We’re keeping our options open until we can measure the differences objectively.