You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a medium sized app in blazor wasm and run it through NativeAOT compilation. The app isn't that big but the output binaries are huge. The entire release folder is 130mb. When I look at what it contains what jumps out is the dotnet.native.wasm which is 50MB alone. My own assemblies are very small, the biggest one is 1.2mb. I'm trying to figure out what is going on here. I know that release folder contains raw and compressed binaries, but what ends up in the user browser uncompressed is around 80mb. This is huge compared to pure JS solution. Can we do anything to make it smaller?
I tried WasmStripILAfterAOT but it's broken in .NET 8. But still it only shoves off only 2mb from the entire release folder. Experimenting with invariant culture and no time zone support also makes very little difference.
It there something wrong going on here or are those binaries just that big?
I know that internet is fast these days but is it acceptable for modern web to ship such big binaries?
Btw. I know that output of non-native-AOT builds is much smaller but it's really unstuiable for us. IL interpreter that it runs on is 30% slower than JS which defeats any purpose of WASM (to be faster than JS).
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi everyone,
I have a medium sized app in blazor wasm and run it through NativeAOT compilation. The app isn't that big but the output binaries are huge. The entire release folder is 130mb. When I look at what it contains what jumps out is the dotnet.native.wasm which is 50MB alone. My own assemblies are very small, the biggest one is 1.2mb. I'm trying to figure out what is going on here. I know that release folder contains raw and compressed binaries, but what ends up in the user browser uncompressed is around 80mb. This is huge compared to pure JS solution. Can we do anything to make it smaller?
I tried WasmStripILAfterAOT but it's broken in .NET 8. But still it only shoves off only 2mb from the entire release folder. Experimenting with invariant culture and no time zone support also makes very little difference.
It there something wrong going on here or are those binaries just that big?
I know that internet is fast these days but is it acceptable for modern web to ship such big binaries?
Btw. I know that output of non-native-AOT builds is much smaller but it's really unstuiable for us. IL interpreter that it runs on is 30% slower than JS which defeats any purpose of WASM (to be faster than JS).
Beta Was this translation helpful? Give feedback.
All reactions