4 ms·
You're behind the times: > Publishing your app as Native AOT produces an app that's self-contained and that has been ahead-of-time (AOT) compiled to native cod
by ryanjshaw 3y ago
You're behind the times:
> Publishing your app as Native AOT produces an app that's self-contained and that has been ahead-of-time (AOT) compiled to native code. Native AOT apps have faster startup time and smaller memory footprints. These apps can run on machines that don't have the .NET runtime installed.
https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/?tabs=net7%2Cwindows https://learn.microsoft.com/en-us/dotnet/core/deploying/nati...
While there are limitations, this is an active area of work for future versions of .NET.
- wg0 3y agoThis is the best case scenario and lots of stuff would be left out, you can't use all of the APIs as is noted in the documentation.
- neonsunset 3y agoGarnet doesn’t use those however. A lot of older libraries that do runtime code emit or unbound reflection don’t work, but a lot of others do even though they were written more than 10 years ago and were adapted to netstandard2.0 target. Either way it does not benefit much from NativeAOT given it’s expected to be long-running where JIT is more advantageous.
- piaste 3y agoYou can still use a lot more APIs from AOT C# than from C/C++/Zig/Rust :)