The great thing about battletested, JIT VMs like CLR/JVM/HiPE is that the user code can be compiled once and the providers can keep optimizing them in future versions and also with uptime. As long as memory usage, GC behavior and performance vs. optimized C is close, it's usually a win.