4 ms·
i was hoping this is about 'real' baniraies, natively compiled .net executables, like the .Net AOT https://learn.microsoft.com/en-us/dotnet/core/deploying/nati
by ClumsyPilot 3y ago
i was hoping this is about 'real' baniraies, natively compiled .net executables, like the .Net AOT
https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/?tabs=net7 https://learn.microsoft.com/en-us/dotnet/core/deploying/nati...
- bob1029 3y agoYou can get a .NET AOT example in a few megabytes now. Looks like the most stripped down AOT compiled builds are about to crack the 1mb barrier: https://github.com/AustinWise/SmallestDotnetHelloWorlds https://github.com/AustinWise/SmallestDotnetHelloWorlds
- archargelod 3y agoBut isn't a dotnet runtime a feature? AOT strips a main feature of the language, while still doesn't even get close to compiled languages ( hello world < 300kb (or < 100 kb compressed))
- bob1029 3y agoTechnically, the runtime is the thing you need if you didnt use [native] AOT. A big example being that you don't need to emit/interpret IL in an AOT binary. I agree though, the minimal .NET example is still not close to a full-featured .NET platform. I kind of like the idea of opting-out of features though. Bringing the whole runtime for the party each time is a bit overkill (unless its already on every target machine). Lots of code doesn't need reflection. Some special cases actively dislike GC, etc.
- Rapzid 3y agoThat's why I love the ready to run option. It's aggressively AOT compiled but maintains the ability to JIT during runtime.
- pjmlp 3y agoI am quite sure that Go as compiled language doesn't do a 300 KB hello world (unless TinyGo is used), nor don't plenty of others.