Skip to content

wasm-tools optimization #7340

@andreaTP

Description

@andreaTP

Hi 👋 and thanks for the awesome project!

Today I have been playing with wasm-tools and hitting a number of limits/corner cases, I'd like to share what I have found and any help is highly appreciated.

The wasm file to reproduce the steps is here.

I try to summarize the main issues I have encountered so far:

  • wasm-opt takes a very long time to process the module, I'm on a 16 cores x86 machine:
$ time wasm-opt -Oz wasm-tools.wasm -o wasm-tools-opt.wasm
wasm-opt -Oz wasm-tools.wasm -o wasm-tools-opt.wasm  296.77s user 1.06s system 540% cpu 55.132 total
  • after the optimization, it generates a function type with 680 parameters (type 90) the maximum expressible in Java is 255 and this is the first time we hit this limit
  • I attempted to use wasm-split but I'm failing to find documentation about the "profile", do you have a link to spare?

What I would like to achieve:

  • split out the wasm module into more easily processable modules
  • reduce the functions size so that we don't hit JVM limits

As said, any help is very welcome!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions