Use WebAssembly.compileStreaming #267
Merged
+17
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
With WebAssembly.compileStreaming, compilation completes 40 ms faster than WebAssembly.compile.
Measurement Method
I subtracted the time it takes to download
ruby+stdlib.wasm
from the time it takes to compileruby+stdlib.wasm
and measured that as the difference between WebAssembly.compileStreaming and WebAssembly.compile.Compile time
We added the following script to packages/npm-packages/ruby-wasm-wasi/src/browser.script.ts and measured the time required to compile
ruby+stdlib.wasm
.Download time
The time taken to download
ruby+stdlib.wasm
was obtained from the network tab of Google Chrome.For example:
Cache has been disabled.
Measurement Results
WebAssembly.complieStreaming
Average 21 ms
WebAssembly.complie
Average 62.7 ms