Skip to content

v0.14.0 - 2022-07-26

Compare
Choose a tag to compare
@Robbepop Robbepop released this 26 Jul 14:01
v0.14.0
f042ff7

Added

Changed

  • Wasmi has been entirely redesigned and reimplemented.
    This work resulted in an entirely new API that is heavily inspired by
    the Wasmtime API,
    a brand new Wasm execution engine that performs roughly 30-40%
    better than the previous engine according to our benchmarks,
    the support of many Wasm proposals and Wasm parsing and validation
    using the battle tested wasmparser
    crate by the BytecodeAlliance.

    The new wasmi design allows to reuse the Wasm execution engine
    resources instead of spinning up a new Wasm execution engine for every
    function call.

    Note: If you plan to use wasmi it is of critical importance
    to compile wasmi using the following Cargo profile settings:

    [profile.release]
    lto = "fat"
    codegen-units = 1

    If you do not use these profile settings you might risk regressing
    performance of wasmi by up to 400%. You can read more about this
    issue here.

Removed

  • Removed support for resuming function execution.
    We may consider to add this feature back into the new engine.
    If you are a user of wasmi and want this feature please feel
    free to open an issue
    and provide us with your use case.