
The fastest LoongArch sandbox
libloong 是一个专为嵌入和高频脚本设计的64位高性能LoongArch模拟器库。它基于libriscv架构构建,提供了目前最快的64位解释器性能,代码量仅为约18,000行,且零依赖。
你也可以在命令行界面中运行LoongArch64 Linux程序。
在 CoreMark 1.0 解释器基准测试(2025年12月)中,libloong 在Ryzen 7950X上领先64位类别,可靠地达到 3000+ 的分数。
| 解释器 | 架构 | 分数 |
|---|---|---|
| libloong | 64位 LoongArch | 3045 |
| libriscv | 64位 RISC-V | 2865 |
| stitch | Wasm | 2743 |
| wasm3 | Wasm | 2368 |
| wasmer (WAMR) | Wasm | 2314 |
| wasmi | Wasm | 1967 |
高级模式: 虽然解释器是便携性的主要关注点,但libloong包含一个轻量级JIT,可达 原生性能的38%(15.5k CoreMark),以及一个嵌入式二进制翻译器,可达 原生性能的~77%(31.9k CoreMark)。
游戏引擎脚本是libloong的强项。传统游戏通过共享库(完全系统访问)、嵌入式VM(如Lua,约150ns调用开销)或Java运行时来暴露模组功能。libloong 的调用开销约为4ns。

参见 示例 Asteroid 游戏。
CMake 配置选项:
LA_DEBUG=ON/OFF - 启用调试输出(默认:OFF)LA_BINARY_TRANSLATION=ON/OFF - 启用二进制翻译(默认:OFF)LA_THREADED=ON/OFF - 启用线程化字节码分发(默认:ON)LA_MASKED_MEMORY_BITS=N - 设置屏蔽内存区域大小为2^N字节(0=禁用,默认:0)带选项的示例:
cmake .. -DCMAKE_BUILD_TYPE=Release \
-DLA_MASKED_MEMORY_BITS=32 \
-DLA_BINARY_TRANSLATION=ON
make -j6
#include <libloong/machine.hpp>
int main() {
// 加载 LoongArch ELF 二进制文件
std::vector<uint8_t> binary = load_file("program.elf");
// 创建一个具有64MB内存的机器
loongarch::Machine machine { binary, {
.memory_max = 64 * 1024 * 1024
}};
// 设置程序参数
machine.setup_linux({"program"}, {"LC_ALL=C"});
// 运行程序
machine.simulate();
}