Stream: git-wasmtime

Topic: wasmtime / issue #5850 x64: Only branch once in br_table


view this post on Zulip Wasmtime GitHub notifications bot (Feb 23 2023 at 01:47):

jameysharp commented on issue #5850:

Spidermonkey retires slightly fewer instructions during execution, slightly more during compilation, but no significant difference in CPU cycles in either case.

<details><summary>Significant spidermonkey performance differences</summary>

execution :: instructions-retired :: benchmarks/spidermonkey/benchmark.wasm

  Δ = 23022316.85 ± 32869.86 (confidence = 99%)

  branch-once-82e006e56.so is 1.01x to 1.01x faster than main-0f51338de.so!

  [2852144560 2852262544.40 2852550305] branch-once-82e006e56.so
  [2875156298 2875284861.25 2875531456] main-0f51338de.so

compilation :: instructions-retired :: benchmarks/spidermonkey/benchmark.wasm

  Δ = 37675655.35 ± 1170739.83 (confidence = 99%)

  main-0f51338de.so is 1.00x to 1.00x faster than branch-once-82e006e56.so!

  [38943859484 38953919135.25 38956367889] branch-once-82e006e56.so
  [38906558057 38916243479.90 38921200049] main-0f51338de.so

</details>

The pulldown-cmark benchmark executes slightly faster by CPU cycles and slightly slower by number of instructions retired, which I think means it's hitting the default branch somewhat often.

<details><summary>Significant pulldown-cmark performance differences</summary>

execution :: cpu-cycles :: benchmarks/pulldown-cmark/benchmark.wasm

  Δ = 87213.87 ± 20212.56 (confidence = 99%)

  branch-once-82e006e56.so is 1.01x to 1.01x faster than main-0f51338de.so!

  [8033614 8138405.50 8285060] branch-once-82e006e56.so
  [8140335 8225619.37 8496124] main-0f51338de.so

execution :: instructions-retired :: benchmarks/pulldown-cmark/benchmark.wasm

  Δ = 117594.21 ± 109.08 (confidence = 99%)

  main-0f51338de.so is 1.00x to 1.00x faster than branch-once-82e006e56.so!

  [23761214 23761446.97 23762080] branch-once-82e006e56.so
  [23643597 23643852.76 23644483] main-0f51338de.so

compilation :: instructions-retired :: benchmarks/pulldown-cmark/benchmark.wasm

  Δ = 3504417.95 ± 49961.22 (confidence = 99%)

  main-0f51338de.so is 1.00x to 1.00x faster than branch-once-82e006e56.so!

  [1652866013 1653078182.09 1653490982] branch-once-82e006e56.so
  [1649289182 1649573764.14 1650067353] main-0f51338de.so

</details>

But overall it looks to me like there's very little performance difference either way on these benchmarks.


Last updated: Dec 23 2024 at 13:07 UTC