Stream: git-wasmtime

Topic: wasmtime / PR #4514 x64: Shrink Inst from 72 to 48 bytes


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

elliottt opened PR #4514 from trevor/box-jump-table-vectors to main:

<!--

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 21:39):

elliottt updated PR #4514 from trevor/box-jump-table-vectors to main.

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

elliottt edited PR #4514 from trevor/box-jump-table-vectors to main:

This PR pulls out the effective parts of #4496, boxing the tables in JmpTableSeq. The performance is roughly the same, but sequential runs show a very small improvement in memory usage. The parameter to the SmallVec used in BoxVecMachLabel could do with some tuning: 4 performed better than 16, but I haven't experimented further.

Sightglass spidermonkey benchmark

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

  No difference in performance.

  [2850802574 2907543428.87 2955488180] branch.so
  [2849459537 2907931719.73 2970915233] main.so

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

  No difference in performance.

  [10263234120 10467497988.27 10640099020] branch.so
  [10258359048 10468881874.20 10695627810] main.so

Memory usage on the spidermonkey benchmark

Running the spidermonkey 10 times:

for i in $(seq 1 10); do
  /usr/bin/time -f "%M" -- taskset 0x1 ~/wasmtime/target/release/wasmtime compile benchmark.wasm
done
branch main trevor/box-jump-table-vectors
105288 105288
105600 105496
105340 105396
105508 105148
105268 105340
105596 105396
105464 105428
105368 105464
105340 105248
105296 105240
average(k) 105406 105344

<!--

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 21:40):

elliottt edited PR #4514 from trevor/box-jump-table-vectors to main:

This PR pulls out the effective parts of #4496, boxing the tables in JmpTableSeq. The performance is roughly the same, but sequential runs show a very small improvement in memory usage. The parameter to the SmallVec used in BoxVecMachLabel could do with some tuning: 4 performed better than 16, but I haven't experimented further.

Sightglass spidermonkey benchmark

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

  Δ = 21407759.30 ± 19781778.63 (confidence = 99%)

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

  [2845686334 2898004956.07 2938721676] branch.so
  [2867347959 2919412715.37 2976040194] main.so

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

  Δ = 77065090.93 ± 71216617.01 (confidence = 99%)

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

  [10244830916 10433179969.40 10579750838] branch.so
  [10322803658 10510245060.33 10714117852] main.so

Memory usage on the spidermonkey benchmark

Running the spidermonkey 10 times:

for i in $(seq 1 10); do
  /usr/bin/time -f "%M" -- taskset 0x1 ~/wasmtime/target/release/wasmtime compile benchmark.wasm
done
branch main trevor/box-jump-table-vectors
105288 105288
105600 105496
105340 105396
105508 105148
105268 105340
105596 105396
105464 105428
105368 105464
105340 105248
105296 105240
average(k) 105406 105344

<!--

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 21:55):

cfallin submitted PR review.

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

elliottt updated PR #4514 from trevor/box-jump-table-vectors to main.

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

elliottt updated PR #4514 from trevor/box-jump-table-vectors to main.

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

elliottt updated PR #4514 from trevor/box-jump-table-vectors to main.

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

elliottt updated PR #4514 from trevor/box-jump-table-vectors to main.

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

elliottt updated PR #4514 from trevor/box-jump-table-vectors to main.

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

elliottt requested cfallin for a review on PR #4514.

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

elliottt has marked PR #4514 as ready for review.

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

elliottt updated PR #4514 from trevor/box-jump-table-vectors to main.

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

elliottt updated PR #4514 from trevor/box-jump-table-vectors to main.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 27 2022 at 17:32):

cfallin submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 27 2022 at 17:39):

elliottt merged PR #4514.


Last updated: Dec 23 2024 at 12:05 UTC