Standalone JIT-style runtime for WebAssembly, using Cranelift (by bytecodealliance)


Basic wasmtime repo stats
9 days ago

bytecodealliance/wasmtime is an open source project licensed under Apache License 2.0 which is an OSI approved license.

Wasmtime Alternatives

Similar projects and alternatives to wasmtime

  • GitHub repo wasmer

    🚀 The leading WebAssembly Runtime supporting WASI and Emscripten

  • GitHub repo deno

    A secure JavaScript and TypeScript runtime

  • GitHub repo maturin

    Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages

  • GitHub repo RustPython

    A Python Interpreter written in Rust

  • GitHub repo config

    configuration library for JVM languages using HOCON files

  • GitHub repo PyO3

    Rust bindings for the Python interpreter

  • GitHub repo miri

    An interpreter for Rust's mid-level intermediate representation

  • GitHub repo rustc_codegen_cranelift

    Cranelift based backend for rustc

  • GitHub repo tab-rs

    The intuitive, config-driven terminal multiplexer designed for software & systems engineers

  • GitHub repo reference-types

    Proposal for adding basic reference types (anyref)

  • GitHub repo lust

    A lisp compiler and interpreter I've been working on

  • GitHub repo ecl

  • GitHub repo Code-Server

    VS Code in the browser

  • GitHub repo bat

    A cat(1) clone with wings.

  • GitHub repo tauri

    Build smaller, faster, and more secure desktop applications with a web frontend.

  • GitHub repo tokio

    A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...

  • GitHub repo pybind11

    Seamless operability between C++11 and Python

  • GitHub repo rayon

    Rayon: A data parallelism library for Rust

  • GitHub repo czkawka

    Multi functional app to find duplicates, empty folders, similar images etc.

  • GitHub repo proposals

    Tracking WebAssembly proposals (by WebAssembly)

NOTE: The number of mentions on this list indicates mentions on common posts. Hence, a higher number means a better wasmtime alternative or higher similarity.


Posts where wasmtime has been mentioned. We have used some of these posts to build our list of alternatives and similar projects - the last one was on 2021-04-30.
  • Support IBM z/Architecture
    reddit.com/r/rust | 2021-05-04
  • Can the Rust compiler be compiled to WASM and run on a browser?
    reddit.com/r/rust | 2021-04-30
    Part of rustc bas been compiled to wasm previously. A hello-world program has ran via rustc/miri on wasi. A benefit of adding a wasm backend to cranelift would allow for the cranelift backend for rustc compile code inside and to run in the browser.
  • RPython-Based VMs: Fast Enough in Fast Enough Time
    news.ycombinator.com | 2021-04-26
    wasmtime[0] is a WebAssembly standalone runtime that does JIT. It’s quite performant anecdotally and I think some benchmarks might be available.

    [0] https://github.com/bytecodealliance/wasmtime

  • When implementing a language, what's your favourite backend?
    Ish. You should be able to bundle something with https://github.com/bytecodealliance/wasmtime which will be as near as damnit
  • Zellij – A Terminal Workspace and Multiplexer Written in Rust
    news.ycombinator.com | 2021-04-22

    But ...

    "Cranelift does not yet perform mitigations for Specter or related security issues, though it may do so in the future." (https://github.com/bytecodealliance/wasmtime/tree/main/crane...)

    Will the wasmer runtime handle specter / meltdown / rowhammer attacks?

  • Progress report on rustc_codegen_cranelift (April 2021)
    reddit.com/r/rust | 2021-04-14
  • What is the current state of porting a Rust project to WASM ?
    reddit.com/r/rust | 2021-04-14
    If that's the case, try a runtime like Wasmer, wasmtime, WAVM, or SSVM.
  • GNU lightning: generates assembly language code at run-time
    news.ycombinator.com | 2021-04-08
  • Cranelift, Part 3: Correctness in Register Allocation
    reddit.com/r/rust | 2021-03-15
    In a little more detail -- we handle register saves/restores in the ABI implementation which explicitly reasons about caller/callee-saves. The interaction with regalloc is actually kind of elegant IMHO: we just add all of the caller-save registers as defs on the call instruction. Regalloc.rs allows real (physical) registers alongside virtual registers in the VCode, and will see these defs and move other data out of the way.
    reddit.com/r/rust | 2021-03-15
    In fact, I just double-checked and it seems we've already wired the regalloc bit of this up for Wasmtime here, and for any other Cranelift user that exposes the settings; on Wasmtime, -s regalloc=backtracking_checked should in theory give exactly this.
    reddit.com/r/rust | 2021-03-15
    Very interesting article! Uses Spidermonkey Cranelift already for IonMonkey or only for Webassembly? I am refering to (https://github.com/bytecodealliance/wasmtime/blob/main/cranelift/spidermonkey.md#phase-2-ionmonkey)[the documentation]
  • MIRI running in WASM
    reddit.com/r/rust | 2021-03-10
    Great to see more progress on this! It would also be neat for cranelift to add a webassembly backend, which would allow a rustc compiled to wasm to produce wasm modules using cg_clif.
  • Is there a way to build a plugin system for rust code with dynamic libraries ?
    reddit.com/r/rust | 2021-03-04
    The list of languages that support wasm is growing, and Rust support is already excellent. With Wasmer and wasmtime you have two excellent Rust-native wasm engine options with multiple backends.
  • Data oriented compiler architecture?
    reddit.com/r/Compilers | 2021-02-22
  • Interview with Ryan Dahl, Node.js & Deno creator
    The other improvements that are usually talked about are the sandboxing feature and the module system. The sandboxing feature is possibly interesting if you're writing scripts that will run on other people's machines, but for most web development it basically offers nothing that existing containerisation technologies don't already provide, just that the containerisation options are usually easier to configure in one central place. It would be more useful if it could do things that containerisation couldn't — WASM is a good example here, where the WASI interface uses "capabilities" to ensure that external modules can only open things that they are explicitly given access to (see [1]). I'm not entirely sure whether this sort of thing is possibly in such an enthusiastically dynamic language as JavaScript, but I think Deno would have been a more useful and interesting project if it had explored in this direction.