Wasm Runtime开源项目Wasmer 2.2效能再升级,并且开始支援M1芯片

Wasmer 2.2新增支持Apple M1(macOS Arm64)芯片,无论是执行Singlepass还是Cranelift编译器,效能都超越Linux x86_64和Linux ARM64许多

Wasm Runtime开源项目Wasmer 2.2效能再升级,并且开始支援M1芯片

WebAssembly Runtime开源项目Wasmer开发团队发布2.2版本,这个版本更新其Singlepass编译器,重新支持Aarch64(Linux ARM64)架构,官方提到,通过更新Singlepass编译器,将有助于Web3和区块链开发人员,在Windows、Linux和macOS执行高性能Wasmer Runtime。 另外,Wasmer 2.2也加入对Apple M1(macOS Arm64)处理器的支持。

由于浏览器低阶编程WebAssembly的高安全性和高性能等特性,受到越来越多的企业青睐,采用WebAssembly开发网页应用程序,提供用户更好的网页应用程序体验,但原本WebAssembly只是设计在浏览器客户端中运作,提供比JavaScript更快的编译和执行速度,而为了让WebAssembly也能在浏览器之外的地方执行 ,Mozilla在2019年发布了标准系统接口WASI(WebAssembly System Interface)。

而 Wasmer 便是通过支持WASI,让 WebAssembly 超轻量容器在包括桌面、云和物联网设备上。 Wasmer能够容器化应用程序,让二进制档案在不需要修改的情况下,于Linux、macOS、Windows以及浏览器上执行,并且保护主机不受恶意程序、错误和Bug影响,而且因为WebAssembly轻量级容器的优点,Wasmer还可让WebAssembly应用程序在Docker容器不能运作的地方执行。

在最新的Wasmer 2.2,开发团队进一步改进了Wasmer的执行效率,并以衡量CPU和嵌入式微处理器效能的CoreMark基准,在Linux x86_64架构上衡量Wasmer新旧版本的效能差异,使用Singlepass编译器,Wasmer 2.2和0.17相比有约25%的成长,而Cranelift更是成长了接近90%。

Wasm Runtime开源项目Wasmer 2.2效能再升级,并且开始支援M1芯片

官方也在Aarch64上进行相同的测试,结果十分有趣,与x86_64相比,Cranelift的表现不佳,但是都使用Aarch的情况下,Wasmer 2.2跟Wasmer 1.02相比,效能进步达1.5倍,而Singlepass的进步更大,效能改进达3.7倍。

Wasm Runtime开源项目Wasmer 2.2效能再升级,并且开始支援M1芯片

众所期待,Wasmer 2.2终于支持Apple M1芯片,官方提到,M1芯片真的非常强大,数字与Linux x86_64和Linux ARM64相比,都高上不少。 官方仅展示Apple M1芯片在Wasmer 2.2上的基准测试分数,无论是Singlepass和Cranelift,分数远远超过上述其他两个架构。

与Cranelift和LLVM编译器相比,Singlepass的执行效能可能较慢,但是Singlepass的线性编译速度却比LLVM和Cranelift更好,官方解释,因为LLVM和Cranelift都执行了许多优化,使得WebAssembly程序可以获得最佳效能,但这也会增加JIT额外编译的时间, 而相对稳定的Singlepass,即便是复杂的档案,编译时间也不会长得太夸张。

将Singlepass、Cranelift和LLVM,在Linux x86_64和ARM64以及macOS Arm64上执行,从下表可以看到很明显的时间差异,Singlepass在三个编译器上,都能在约1到3秒内执行完毕,时间最长的是Linux ARM64,也只要7秒多,但Cranelift执行速度就要以分钟计,在Linux ARM64里甚至要接近35分钟,LLVM则可能无法完成任务,在Linux x86_64上,可能会在3小时后停止执行,而在Linux ARM64上,可能会执行长达3天后停止。

Wasm Runtime开源项目Wasmer 2.2效能再升级,并且开始支援M1芯片

开发团队重构Singlepass编译器,使得Wasmer能够启用新的后端实作,而这也让Singlepass更灵活,但开发团队提醒,由于Wasmer可应用的环境很多元,用户还是需要针对生产工作负载和场景执行测试,才能知道真正的运作状况。

(0)
打赏 微信扫一扫 微信扫一扫

相关推荐

发表评论

登录后才能评论