elliottt opened PR #4514 from trevor/box-jump-table-vectors
to main
:
- Box jump table vectors as small vectors
- Switch to a small vec of 4 elements
<!--
Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
elliottt updated PR #4514 from trevor/box-jump-table-vectors
to main
.
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 theSmallVec
used inBoxVecMachLabel
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.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
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 theSmallVec
used inBoxVecMachLabel
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.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
cfallin submitted PR review.
elliottt updated PR #4514 from trevor/box-jump-table-vectors
to main
.
elliottt updated PR #4514 from trevor/box-jump-table-vectors
to main
.
elliottt updated PR #4514 from trevor/box-jump-table-vectors
to main
.
elliottt updated PR #4514 from trevor/box-jump-table-vectors
to main
.
elliottt updated PR #4514 from trevor/box-jump-table-vectors
to main
.
elliottt requested cfallin for a review on PR #4514.
elliottt has marked PR #4514 as ready for review.
elliottt updated PR #4514 from trevor/box-jump-table-vectors
to main
.
elliottt updated PR #4514 from trevor/box-jump-table-vectors
to main
.
cfallin submitted PR review.
elliottt merged PR #4514.
Last updated: Dec 23 2024 at 12:05 UTC