wasmi-labs / wasmi

WebAssembly (Wasm) interpreter.
https://wasmi-labs.github.io/wasmi/
Apache License 2.0
1.56k stars 281 forks source link

Optimize Wasmi bytecode executor `ValueStack` #1017

Closed Robbepop closed 5 months ago

Robbepop commented 5 months ago

Locally we see neat performance improvements: image

The downside is that this makes more extensive use of unsafe Rust code in the ValueStack implementation. But I think that the performance improvements justify this change.

codecov[bot] commented 5 months ago

Codecov Report

Attention: Patch coverage is 93.33333% with 4 lines in your changes are missing coverage. Please review.

Project coverage is 80.76%. Comparing base (2e81f38) to head (ef272fe).

Files Patch % Lines
crates/wasmi/src/engine/executor/stack/values.rs 92.59% 4 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #1017 +/- ## ======================================= Coverage 80.75% 80.76% ======================================= Files 269 269 Lines 24687 24684 -3 ======================================= - Hits 19936 19935 -1 + Misses 4751 4749 -2 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.