Stream: git-wasmtime

Topic: wasmtime / PR #4496 [WIP] x64: Shrink Inst size from 72 t...


view this post on Zulip Wasmtime GitHub notifications bot (Jul 21 2022 at 05:16):

elliottt edited PR #4496 from trevor/x64-inst-size to main:

Experimenting with shrinking down the size of Instr for the x64 backend. The current state of this PR is that it shrinks the size of Instr to 40 bytes, but costs some compile performance as it puts every SyntheticAmode behind a box. This isn't really acceptable, so I'm going to investigate a new representation for SyntheticAmode that doesn't require 20 bytes.
<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Jul 21 2022 at 19:16):

elliottt updated PR #4496 from trevor/x64-inst-size to main.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 21 2022 at 21:41):

elliottt updated PR #4496 from trevor/x64-inst-size to main.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 21 2022 at 22:23):

elliottt updated PR #4496 from trevor/x64-inst-size to main.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 21 2022 at 23:04):

elliottt updated PR #4496 from trevor/x64-inst-size to main.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 00:01):

elliottt updated PR #4496 from trevor/x64-inst-size to main.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 02:23):

elliottt edited PR #4496 from trevor/x64-inst-size to main:

Experimenting with shrinking down the size of Instr for the x64 backend. The current state of this PR is that it shrinks the size of Instr to 40 bytes by packing the SyntheticAmode into 12 bytes instead of 20. There appears to be no change relative to the main branch in terms of compilation performance when running the spidermonkey benchmark:

compilation :: cycles :: benchmarks/spidermonkey/benchmark.wasm

  Δ = 57577216.56 ± 40606058.89 (confidence = 99%)

  branch.so is 0.99x to 1.00x faster than main.so!
  main.so is 1.00x to 1.01x faster than branch.so!

  [10309078912 10526961950.50 10728893296] branch.so
  [10257691628 10469384733.94 10666653846] main.so

compilation :: nanoseconds :: benchmarks/spidermonkey/benchmark.wasm

  Δ = 15991943.37 ± 11279098.93 (confidence = 99%)

  branch.so is 0.99x to 1.00x faster than main.so!
  main.so is 1.00x to 1.01x faster than branch.so!

  [2863534784 2924059356.84 2980149200] branch.so
  [2849263391 2908067413.47 2962864337] main.so

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 07:04):

bjorn3 submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 07:04):

bjorn3 created PR review comment:

These don't seem to be used. Could you remove them to avoid exposing that mem flags currently fit in a u8. They may not anymore in the future.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 07:36):

elliottt updated PR #4496 from trevor/x64-inst-size to main.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 07:38):

elliottt updated PR #4496 from trevor/x64-inst-size to main.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 07:40):

elliottt edited PR #4496 from trevor/x64-inst-size to main:

Experimenting with shrinking down the size of Instr for the x64 backend. The current state of this PR is that it shrinks the size of Instr to 40 bytes by packing the SyntheticAmode into 12 bytes instead of 20. There appears to be very little change relative to the main branch in terms of compilation performance when running the spidermonkey benchmark:

compilation :: cycles :: benchmarks/spidermonkey/benchmark.wasm

  Δ = 57577216.56 ± 40606058.89 (confidence = 99%)

  branch.so is 0.99x to 1.00x faster than main.so!
  main.so is 1.00x to 1.01x faster than branch.so!

  [10309078912 10526961950.50 10728893296] branch.so
  [10257691628 10469384733.94 10666653846] main.so

compilation :: nanoseconds :: benchmarks/spidermonkey/benchmark.wasm

  Δ = 15991943.37 ± 11279098.93 (confidence = 99%)

  branch.so is 0.99x to 1.00x faster than main.so!
  main.so is 1.00x to 1.01x faster than branch.so!

  [2863534784 2924059356.84 2980149200] branch.so
  [2849263391 2908067413.47 2962864337] main.so

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 15:46):

elliottt updated PR #4496 from trevor/x64-inst-size to main.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 18:41):

elliottt updated PR #4496 from trevor/x64-inst-size to main.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 22 2022 at 22:03):

elliottt closed without merge PR #4496.


Last updated: Dec 23 2024 at 12:05 UTC