4 ms·
CoreRT – .NET Core runtime optimized for AOT compilation
- romanovcode 9y agoI don't get it. Wasn't this already released under MIT like two years ago?
- davidpelaez 9y agoI would also appreciate a little comment on this because the readme doesn't do much explaining what it is, why it's important, how it's different from .NET Core 2 compiler? To put it in another way, why is this so relevant?
- polskibus 9y agoSeems like this can/will target webassembly.
- algorithmsRcool 9y agoThe is already a partial backend for webassembly in the repo.
- pjmlp 9y agoIt is the POSIX version of .NET Native, for AOT compilation into native code. Using a much better compiler backend than NGEN, similar to Mono when targeting iOS. Additionally, it is also adding WASM as target "CPU". .NET Core only does JIT currently, the generated binary is a mini-bootstrap code that starts the runtime and feeds the main application Assembly into it.
- titanix2 9y agoThanks for the explanation. It’s good to see that Microsoft finally decided to port .net native to other platforms than uwp.
- Rick-Butler 9y agoThe dot net foundation has released a lot of the language components, this appears to be a different compilation target. It looks like this project skips the common intermediate language, and compiles straight to native processor code or Web Assembly (Ahead of Time compilation). You get to skip the overhead of Just In Time compilation.
- wehadfun 9y agoSo using this a .Net application run without the .net framework?
- sebazzz 9y agoPrecompiled, and the framework is delivered with it. This repository is a work in progress of getting .NET to run like a native application. It features multiple targets, not only desktop, but also browser via wasm or, the most interesting, is compilation (transpilation?) to C++ and therefore supporting more platforms than otherwise possible.
- bonesss 9y agoThe .Net VM compiles its code "just in time", this is compiling "ahead of time" while still running on the .net framework. You're thinking a little more along the lines of .net's 'NGEN', used to create native images. This ahead of time compilation is smart for server solutions where cold start time is an issue, certain kinds of complex projects where start times become an issue, or for small devices where start times are among the biggest usability issues ever.
- ygra 9y agoI thought server stuff is the place where startup time doesn't matter that much compared to interactive applications on the desktop. At least that's historically one of the major difference between the client and server runtimes of both .NET and Java.
- bonesss 9y agoWell, that's a definition question :) You're dead on -- proper "Server" solutions, like we see in architecture diagrams or on back-end tiers, are generally insensitive to startup times. As a rule they're spooled up before being connected to the larger app, or are 'the app' itself and have load balancing or operational pauses to mitigate up-time effects (where necessary). In 2020, though, as people are working with microservices and containerized server deployments you end up with a lot of 'servers' where 'apps' used to be. Particularly for focused web apps initial startup time can be a major issue in a shared environment. That's where NGEN or AOT can come into play to happily minimize startup time and memory demands. Parallel computing and number crunching loads can also benefit if you're looking at lots of short lived servers, or a domain that challenges the compiler for whatever reason.
- tybit 9y agoI would love to see more of a road map on where this project is going. It's exciting, but not clear where it's heading.
- michaeljchou 9y agoMore info in `Documentation` folder: https://github.com/dotnet/corert/blob/master/Documentation/intro-to-corert.md https://github.com/dotnet/corert/blob/master/Documentation/i... https://github.com/dotnet/corert/blob/master/Documentation/high-level-engineering-plan.md https://github.com/dotnet/corert/blob/master/Documentation/h...