
第三方发布WebAssembly运行时统计基准测试,覆盖25款引擎
来源标题:3rd-party statistically-correct benchmarks comparing WebAssembly runtimes
第三方发布了针对WebAssembly运行时的统计校正基准测试,当前快照覆盖37款运行时中的25款,基于AMD Ryzen 7800X3D平台、140个参考工作负载。测试按编译器和解释器分类,以几何平均耗时衡量,数值越低越好。数据显示libwasm-jit在快速编译一项中最快,约16.3微秒。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
AMD Ryzen 7800X3D 最新快照 · 25/37 个运行时 · Δ % 范围▾ AMD Ryzen 7800X3D
全部编译器解释器 全部C/C++JavaRustGoVirgilZigKotlin其他 最新快照 25/37 按引擎通过 / 全部引擎通过 几何平均均值 差值 ×% 运行设置 chasm jvm-interpreter / chicory interpreter / chicory jvm-bytecode-compiler / endive cranelift-aot / endive jvm-bytecode-compiler / endive jvm-interpreter / graalwasm truffle-graal / jsc OMG(强制分层升级)/ libwasm interpreter / libwasm-jit spidermonkey ion-only / v8 turboshaft / wago railshot / wamr fast-jit / wamr interpreter / wamr llvm-jit / wasmedge interpreter / wasmedge jit / wasmer cranelift-jit / wasmer llvm-jit / wasmer singlepass-jit / wasmi interpreter / wasmtime cranelift / wasmtime winch / wasm2c GCC / wasm2go native-go-aot / wasm3 interpreter / wavm llvm-jit / wazero compiler / wazero interpreter / wazy native-jit / wizard fast-interpreter / wizard spc / wizard v3-interpreter / w2c2 GCC / zwasm interpreter / zwasm jit 显示全部 隐藏全部 运行时筛选▾ 基准测试 对 140 个参考工作负载取几何平均(以覆盖率最低的已显示引擎为基准)· 数值越低越好 启动 vs 吞吐模型 →
最快编译 约 16.3 µs —— libwasm-jit 优化 JIT 分层;第 2 名 jsc OMG(强制分层升级)约 45.2 µs;第 3 名 wizard singlepass-jit 约 88.9 µs;第 4 名 zwasm jit 约 103 µs;第 5 名 wamr fast-jit 约 144 µs。最快实例化 约 1.79 µs —— wasm2c GCC;第 2 名 wazy native-jit 约 2.87 µs;第 3 名 wasm2go native-go-aot 约 3.11 µs;第 4 名 wago railshot 约 3.46 µs;第 5 名 wasmtime winch 约 3.85 µs。最快端到端 约 240 µs —— wizard singlepass-jit;第 2 名 wago railshot 约 251 µs;第 3 名 wamr fast-jit 约 425 µs;第 4 名 wasmer singlepass-jit 约 428 µs;第 5 名 libwasm-jit 优化 JIT 分层 约 450 µs。平均峰值 RSS 最低 约 4.21 MiB —— libwasm-jit 优化 JIT 分层;第 2 名 wizard singlepass-jit 约 4.55 MiB;第 3 名 wazy native-jit 约 10.4 MiB;第 4 名 wago railshot 约 10.6 MiB;第 5 名 wasm2c GCC 约 12.3 MiB。最快执行 约 46.3 µs —— v8 turboshaft;第 2 名 wasm2c GCC 约 46.6 µs;第 3 名 wago railshot 约 48.9 µs;第 4 名 wasmer llvm-jit 约 50.5 µs;第 5 名 spidermonkey ion-only 约 51.8 µs。
显示全部结果▾
延迟调用延迟内存机器码正确性
‹ 延迟 1 / 5 · 共享的精确契约,来自显式主机本地报告成员关系。
›
最新快照按引擎 · 延迟队列中 140 个共享成功契约
运行时编译实例化启动延迟首次调用稳定执行端到端正确数 / 总数 chicory jvm-bytecode-compiler e2e2e405— — —— — —140 / 145 endive jvm-bytecode-compiler 46a882af~37.9 ms ~171 µs 38.1 ms531 µs ~276 µs 38.9 ms140 / 145 graalwasm truffle-graal 092eca675.35 ms ~142 µs 5.49 ms14.5 ms ~406 µs 20.4 ms144 / 145 jsc OMG(强制分层升级)webkitgtk-2.54.245.2 µs 20.1 µs 16.3 µs ~5.98 µs 65.3 µs78.5 µs — —145 / 145 libwasm-jit 优化 JIT 分层 0203ab2022.3 µs329 µs ~98.7 µs 450 µs142 / 145 spidermonkey ion-only 158.0.1330 µs ~8.79 µs 338 µs64 µs ~51.8 µs 454 µs145 / 145 v8 turboshaft v26.12.1767 µs ~10.7 µs 778 µs55.9 µs ~46.3 µs 880 µs145 / 145 wago railshot dc137301146 µs ~3.46 µs 149 µs52.6 µs ~48.9 µs 251 µs145 / 145 wamr fast-jit f5324c18144 µs ~126 µs 269 µs83.3 µs ~72.5 µs 425 µs142 / 145 wamr llvm-jit f5324c1817.1 ms ~359 µs 17.5 ms73.9 µs ~61.6 µs 17.6 ms142 / 145 wasmedge jit 0.18.130.9 ms ~8.17 µs 30.9 ms67 µs ~56.6 µs 31.1 ms145 / 145 wasmer cranelift-jit 7.5.0837 µs ~6.1 µs 844 µs62.2 µs ~53 µs 959 µs145 / 145 wasmer llvm-jit 7.5.010.1 ms ~6.34 µs 10.1 ms64.5 µs ~50.5 µs 10.2 ms145 / 145 wasmer singlepass-jit 7.5.0191 µs ~6.42 µs 197 µs122 µs ~109 µs 428 µs143 / 145 wasmtime cranelift v50.0.0909 µs ~3.86 µs 913 µs61.6 µs ~52.8 µs 1.03 ms145 / 145 wasmtime winch v50.0.0362 µs ~3.85 µs 366 µs90.5 µs ~81.8 µs 538 µs145 / 145 wasm2c GCC wasm2c-gcc:65da2f74240 ms ~1.79 µs 240 ms48.1 µs ~46.6 µs 240 ms145 / 145 wasm2go native-go-aot wasm2go (devel) / go version go1.27.1 linux/amd64228 ms ~3.11 µs 228 ms60.7 µs ~54 µs 228 ms143 / 145 wavm llvm-jit 4e82bb9f— — —— — —145 / 145 wazero compiler 1.12.1-0.20261019-ef2dd2f8488 µs ~26.3 µs 514 µs71.7 µs ~68.6 µs 655 µs145 / 145 wazy native-jit v0.5.0315 µs ~2.87 µs 318 µs75.6 µs ~75.1 µs 469 µs144 / 145 wizard singlepass-jit a87e563988.9 µs ~4.8 µs 93.7 µs77.2 µs ~68.7 µs 240 µs145 / 145 w2c2 GCC w2c2-gcc:5a4bb574— — —— — —143 / 145 zwasm jit 80fce146103 µs ~13 µs 116 µs327 µs ~313 µs ~756 µs144 / 145
✓ 正确 ⊘ 不支持 ○ 已禁用 ✕ 失败 ‼ 崩溃 ◷ 超时 – 未测量 · 不适用 — 不可用
历史 起始日期 选择日期 截止日期 选择日期 稳定执行总调用延迟编译实例化内存机器码正确性 ‹ 稳定执行 历史 1 / 7 · 共享的非特性参考队列 · 每次调用的稳定执行 › 发布提交 未通过 变更 使用匹配的工作负载 历史 此范围和窗口未发布历史目标日期绑定。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。