dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.57k stars 4.55k forks source link

[wasm] Custom compression pass for wasm #49222

Open CoffeeFlux opened 3 years ago

CoffeeFlux commented 3 years ago

This will require first rewriting the ModuleSaw decoder in JS or C. By current estimates this gets us about 40k on dotnet.wasm with the interpreter-only config and even more with AOT. Writeup: https://github.com/WebAssembly/design/issues/1180

Interpreter:

  783,558 PM6.wasm.br
  742,510 PM6.msaw.br

AOT example:

10,142,245 calculator.wasm.br
 9,649,060 calculator.msaw.br
ghost commented 3 years ago

Tagging subscribers to 'arch-wasm': @lewing See info in area-owners.md if you want to be subscribed.

Issue Details
This will require first rewriting the ModuleSaw decoder in JS or C, and by current estimates gets us about 40k on dotnet.wasm with the interpreter-only config.
Author: CoffeeFlux
Assignees: kg
Labels: `arch-wasm`, `area-VM-meta-mono`, `size-reduction`
Milestone: 6.0.0
ilonatommy commented 2 years ago

@kg, what's the status? Are we able to prepare it for dotnet 7?

kg commented 2 years ago

@kg, what's the status? Are we able to prepare it for dotnet 7?

Not implemented, and no