mvm - 一个快速的 Go 虚拟机
摘要
mvm 是一个快速、可移植的 Go 虚拟机,支持直接从源码运行 Go 程序、嵌入 Go 解释器,并包含 REPL、调试器和标准库。
<p><a href="https://lobste.rs/s/fms0x0/mvm_fast_virtual_machine_for_go">评论</a></p>
查看缓存全文
缓存时间: 2026/05/23 10:44
# mvm - 一个快速的 Go 虚拟机
来源:https://mvm.sh/
直接从源码运行程序。嵌入完整的 Go 解释器。动态扩展你的应用。电池即插即用。
``
go install github.com/mvm-sh/mvm@latest
``
### 高速字节码虚拟机
便携式、基于栈的虚拟机,设计用于低开销。
### 与 Go 兼容
旨在与 Go 完全兼容——相同的源码,无需编译器。
### 可嵌入
可嵌入 Go、C 或其他宿主应用。参见示例。
### REPL 与调试器
内置交互式 REPL、调试器和测试引擎。
### 电池即插即用
单单一静态二进制文件,包含完整的标准库。
## 快速体验
``
package main
import "iter"
func squares(n int) iter.Seq[int] {
return func(yield func(int) bool) {
for i := 1; i <= n; i++ {
if !yield(i * i) {
return
}
}
}
}
func main() {
sum := 0
for v := range squares(4) {
sum += v
}
println(sum)
}
``
在 playground 中打开 → (https://mvm.sh/playground/?sample=iter1)
## 运行
mvm 启动 REPL
mvm _samples/fib.go 运行 Go 源码文件
mvm run -e "fmt.Println(1+2)" 评估内联表达式
mvm test ./pkg 运行包中的 `TestX` 函数
mvm help 列出子命令
## 了解更多
- 文档 (https://github.com/mvm-sh/mvm/blob/main/docs/index.md) — 入口点
- 架构 (https://github.com/mvm-sh/mvm/blob/main/docs/architecture.md) — 管道、内存模型、关键设计决策
- 贡献指南 (https://github.com/mvm-sh/mvm/blob/main/CONTRIBUTING.md)
相似文章
开源适用于 Docker 和 gVisor 沙箱的 MicroVM 运行时
Aerol AI 开源了一个与 Docker 和 gVisor 沙箱兼容的 MicroVM 运行时,其设置和启动速度比现有方案更快。
在 NixOS 上使用 microvm.nix 的编码代理虚拟机
一篇技术指南,介绍如何在 NixOS 上使用 microvm.nix 创建临时虚拟机,以便在无法访问个人文件的情况下安全运行编码代理。
InstaVM
InstaVM 提供即时、隔离的计算机环境,专门为AI代理安全运行而设计。
vllm-project/vllm v0.19.1
vLLM v0.19.1 发布 - 一个快速易用的开源 LLM 推理和服务库,拥有业界领先的吞吐量,支持 200+ 个模型架构以及包括 NVIDIA/AMD GPU 和 CPU 在内的多样化硬件。
Go 语言服务器可以实现令人印象深刻的代码导航
Go 语言服务器 (gopls) 为 Go 开发者提供了令人印象深刻的代码导航功能,增强了 IDE 的能力。