Stream: git-wasmtime

Topic: wasmtime / PR #8554 build: add "fastest-runtime" profile ...


view this post on Zulip Wasmtime GitHub notifications bot (May 06 2024 at 22:57):

dundargoc edited PR #8554.

view this post on Zulip Wasmtime GitHub notifications bot (May 06 2024 at 22:57):

dundargoc edited PR #8554:

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

Background: neovim is interested to
add wasmtime support in https://github.com/neovim/neovim/pull/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

view this post on Zulip Wasmtime GitHub notifications bot (May 06 2024 at 22:58):

dundargoc commented on PR #8554:

Changed proflie name to fastest-runtime.

view this post on Zulip Wasmtime GitHub notifications bot (May 06 2024 at 23:32):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (May 06 2024 at 23:54):

alexcrichton merged PR #8554.

view this post on Zulip Wasmtime GitHub notifications bot (May 07 2024 at 09:30):

dundargoc deleted a comment on PR #8554:

Changed proflie name to fastest-runtime.

view this post on Zulip Wasmtime GitHub notifications bot (May 07 2024 at 14:40):

alexcrichton commented on PR #8554:

I did a bit of debugging and unfortunately I can't figure out what's going on. The slowdown seems related to symbols but also not related to symbols. I suspect there's bits-and-pieces of the mach-o format that I don't understand which are coming into play here. I couldn't reproduce this slowdown on Linux, only on macOS, and profiling there I find a bit more difficult through instruments rather than perf. Alas!


Last updated: Oct 23 2024 at 20:03 UTC