3 ms·
How do you make it more aggressive? Are there options in project file?
by Ididntdothis 6y ago
How do you make it more aggressive? Are there options in project file?
- throwaway8941 6y agohttps://docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-core-3-0#assembly-linking https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotne...
- Ididntdothis 6y agoI think I have tried all the options but could get my app only from 180 to 150MB. It uses WPF. Maybe that’s the problem.
- MarkSweep 6y agoWith the right flags you can get Hello World down to about 2MB of managed assemblies. You will still have about 16 MB of native: https://github.com/AustinWise/IlLinkerExample https://github.com/AustinWise/IlLinkerExample You basically have to directly fiddle with the flags to the IL linker to really get the size down. It's a pain. They are working on designs to make it better: https://github.com/dotnet/designs/pull/123 https://github.com/dotnet/designs/pull/123 I think these changes can make self contained .NET apps compare more favorably to Go apps, at least for larger applications. It would probably take something more like CoreRT to get app size to be competitive with Rust and C.
- throwaway_pdp09 6y ago> you can get Hello World down to about 2MB (sobs woefully)
- userbinator 6y agoIn contrast, a pure Win32 Hello World (with GUI) can be 2KB or less with only the addition of some non-default linker options. That's 3 orders of magnitude difference. Obviously it won't be as much with more complex applications, but it's still funny to see others here considering a dozen MB or so for doing something trivial to be small, when that's the size of a full installation of Windows 3.11 complete with all its built-in apps.
- lukyanovic 6y agoYou can see here an example of this aggressive reduction in CoreRT https://medium.com/@MStrehovsky/building-a-self-contained-game-in-c-under-8-kilobytes-74c3cf60ea04 https://medium.com/@MStrehovsky/building-a-self-contained-ga...