Open xiaoyulei opened 2 years ago
Hi! Thank you for your Q!
Actually, it's a good and a bit definitions-centric topic. Let's first define what runtime and virtual machine(VM) stand for. Quoting this reddit topic (that I personally agree on):
A runtime environment is simply all the resources needed to support running the program. This means shared libraries, processes, VMs, whatever put together allows the program to be run on the machine.
A VM is a fictional machine, essentially. It behaves like an actual machine, in the sense that you can provide instructions for it separately from source languages.
And from this perspective, Marine behaves like a runtime, meaning that it's not just execute
Wasm modules, but provide environment including:
local
and tmp
),Moreover, Wasmer
(we're using it for Wasm compilation and execution) and Wasmtime
claim to be runtime itself (according to readme on their main repos).
Hope I answered your Q, if not please do not hesitate to ask more.
Thank you for your clairfy.
Do you implement marine runtime especially for execute
Wasm modules from scratch or base on other open source project?
We're using Wasmer 0.17.1 under the hood.
I see
WebAssembly runtime
description of marine in document, but I am not sure if I understand correctly thatWebAssembly runtime
is a WASM virtual machine or other someting?