“在与另一个高速区块链虚拟机 EOS Wasm 的对比评测中,综合执行性能达到 EOS Wasm 两倍以上。”
近日,新一代公有基础链 & 分布式信任协作平台——本体(Ontology)在其最新底层版本 Ontology 2.0 中推出了全球执行速度最快的区块链 Wasm 虚拟机 Ontology Wasm-JIT,在与另一个高速区块链虚拟机 EOS Wasm 的对比评测中,综合执行性能达到 EOS Wasm 两倍以上。
去年10月,Ontology Wasm 功能正式登陆主网,在主流区块链开放平台中实现了多智能合约虚拟机运行机制(Multi-VM)。作为由 Google、Apple 和 Microsoft 等浏览器厂商同时支持的中间代码,Wasm 具备运行高效、内存安全、无未定义行为和平台独立等特点,经过了编译器和标准化团队多年耕耘,目前已拥有成熟的社区,为开发者提供非常友好的体验。
Wasm 的性能高效、存储成本低和多语言支持的优点,具体体现在:
性能高效:采用二进制编码,在程序执行过程中体现出优越性能;
存储成本低:相对于文本格式,二进制编码文本占用的存储空间更小;
多语言支持:用户可使用 C/C 、Rust、Go 和 Assembly Script 等多种语言编写智能合约并编译成 Wasm 格式的字节码。
在此基础上,Wasm-JIT 是一种将 Wasm 字节码预先翻译为 Native 机器码,然后直接执行机器码的 Wasm 运行方式。相较于逐条 Wasm 字节码的解析执行,JIT 的运行方式能够极大提高执行速度。
执行速度是 Ontology Wasm-JIT 的一大突出优势,相较于此前的解析执行版本,本版本的性能带来了数量级的提升。与同样采用高速 Wasm 的 EOS 公链相比,Ontology Wasm-JIT 在性能上展现出领先优势。
下表展示的是基于 Ontology 和 EOS 开源代码虚拟机上的同环境测试。由于 EOS 无 gas 收费模式,本次测试基于 Ontology 无需计费的版本进行。
(注:Interpreter 表示 Wasm 解析执行方式;ONT JIT/EOS JIT 分别指代Ontology 和 EOS 的 JIT 执行方式;Compile 和 Execution 分别表示 JIT 编译为机器码和执行机器码阶段的时间。)
测试链接: https://github.com/carltraveler/wasmjit-perf
从上图可以看出 EOS 和 ONT 的 JIT 执行版本比解析版本均有几十甚至上百倍的性能提升,同时 ONT 的 JIT 编译阶段有较多的优化,因此编译相对耗时,不过却能够生成更加高效的机器码;在执行阶段,EOS 所花费的时间是 ONT 的2倍及以上。开发者在使用 Ontology 各项技术时能够在更短时间内获得更高性能,大大提升开发效率。
Ontology Wasm-JIT 和解析执行版本完全兼容,对开发者是透明且友好,无需投入任何新的学习成本。Ontology Wasm-JIT 在性能上的提升能够支持更加复杂的合约应用。基于此,开发者可以把更多时间精力集中于具体的业务开发,而不需要担心合约的性能调优。具体到业务层面,单条合约指令的执行实际能耗更低,相应的合约执行费用也能够降低,从而减少用户的 Gas 支付费用,实现降本增效,卓越执行的结果。
目前,Ontology Wasm-JIT 已经上线本体测试网,开发者可以便捷进行体验。
https://github.com/ontio/
Aristotle 技术路线中 Ontology 2.0的其他重要功能也将在后续陆续公布,敬请关注。