Our great sponsors
-
llilc
Discontinued This repo contains LLILC, an LLVM based compiler for .NET Core. It includes a set of cross-platform .NET code generation tools that enables compilation of MSIL byte code to LLVM supported platforms.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
corert
Discontinued This repo contains CoreRT, an experimental .NET Core runtime optimized for AOT (ahead of time compilation) scenarios, with the accompanying compiler toolchain.
-
runtimelab
This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo.
Optimizations are not "on" or "off". There are many incredible complicated optimizations that are performed by a state of the art compiler that are not done in a JIT, probably primarily related to whole program optimization (though I am not an expert in compilers). There is no reason, though, that e.g. https://github.com/dotnet/llilc could generate code that is as optimized as a C++ version, since it uses a state of the art optimizing compiler backend (LLVM)
Yes and no. C/C++ and, by extension, LLVM, have the advantage here because they allow for more undefined behavior. .NET Native was a project that combined a powerful optimizer with .NET and the result wasn't really mindblowing. My understanding here is superficial, but one example would that .NET has more strict semantics around exceptions (see https://github.com/dotnet/runtime/issues/8948).
CoreRT
NativeAOT