Skip to content

[21.0.0] build: add "fastest-runtime" profile for runtime optimization #8575

Merged
alexcrichton merged 1 commit into
bytecodealliance:release-21.0.0from
alexcrichton:backport
May 7, 2024
Merged

[21.0.0] build: add "fastest-runtime" profile for runtime optimization #8575
alexcrichton merged 1 commit into
bytecodealliance:release-21.0.0from
alexcrichton:backport

Conversation

@alexcrichton
Copy link
Copy Markdown
Member

Backports #8554 to the 21.0.0 branch since it was backported to 20.0.0 in #8569

…dealliance#8554)

This is extremely useful for cases where the default optimizations just
are not enough.

Background: [neovim](https://github.com/neovim/neovim) is interested to
add wasmtime support in neovim/neovim#28415 but
we noticed that including wasmtime, even when not using wasmtime
directly, heavily affects runtime performance. This is not only
reflected in the increased startuptime but affects the runtime
performance overall.

Here are the benchmarks for startuptimes for different configurations.
Important to note is that all of runtime is affected, but the
startuptime is a decent proxy to measure runtime performance:

```
No wasm
  Time (mean ± σ):      50.5 ms ±   1.5 ms    [User: 32.8 ms, System: 12.3 ms]
  Range (min … max):    48.3 ms …  54.4 ms    56 runs

Wasm, lto=thin
  Time (mean ± σ):     104.9 ms ±   3.5 ms    [User: 86.5 ms, System: 12.7 ms]
  Range (min … max):    99.5 ms … 111.1 ms    26 runs

Wasm, lto=true
  Time (mean ± σ):      83.8 ms ±   2.5 ms    [User: 65.8 ms, System: 12.1 ms]
  Range (min … max):    80.5 ms …  93.3 ms    31 runs

Wasm, lto=true, strip="none", incremental=false, codegen-units=1, panic="abort"
  Time (mean ± σ):      53.1 ms ±   1.0 ms    [User: 35.5 ms, System: 12.5 ms]
  Range (min … max):    50.6 ms …  55.5 ms    54 runs
```
@alexcrichton alexcrichton requested review from a team as code owners May 7, 2024 18:22
@alexcrichton alexcrichton requested review from fitzgen and removed request for a team May 7, 2024 18:22
@alexcrichton alexcrichton merged commit 2a23b42 into bytecodealliance:release-21.0.0 May 7, 2024
@alexcrichton alexcrichton deleted the backport branch May 7, 2024 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants