写点什么

Wasmtime 1.0 发布,官方曾透露高性能的秘密

  • 2022-09-21
    北京
  • 本文字数:1111 字

    阅读完需:约 4 分钟

Wasmtime 1.0 发布,官方曾透露高性能的秘密

美东时间 9 月 20 日,Bytecode Alliance 宣布经过三年开发,正式迎来 Wasmtime 1.0 版本。Wasmtime 是创建在编译器 Cranelift 之上的 WebAssembly Runtime。Wasmtime 利用 Rust 编程语言,完全开源并符合 WASI。Wasmtime 还支持与 C/C++、Python、.NET、Go 等语言集成,同时运行在 Windows/Linux/macOS 等平台上。

 


Bytecode Alliance是一个推动 WebAssembly 标准化的组织,该组织正在推动标准化的 WASI(WebAssembly System Interface),使 WebAssembly 能够安全地访问文件、网络和内存等系统资源。

 

Wasmtime 1.0 被 Bytecode Alliance 总结为“快速、安全和生产就绪”,v1.0 公告中指出:

 

事实上,我们在一年多以前就可以称 Wasmtime 为生产就绪。但我们并不想只发布任何 WebAssembly 引擎。我们希望有一个超级快速和超级安全的 WebAssembly 引擎。我们希望当我们推荐人们选择 Wasmtime 时,能够感到非常有信心。

 

因此,为了确保它为你们所有人做好生产准备,我们字节码联盟的一些人在过去一年里一直在生产中运行 Wasmtime。而 Wasmtime 在这些生产环境中表现出色,提供了一个稳定的平台,同时也给我们带来了安全和速度上的胜利。

 

目前,Shopify、Fastly、微软等公司已经在生产环境中使用了 Wasmtime 半年多到一年多的时间不等。其中,Wasmtime 为 Shopify 带来了约 50% 的性能提升;Fastly 从一个 WebAssembly 引擎切换到 Wasmtime 后,每秒钟的请求数也增加了 163% ,且其他几个公司在使用 Wasmtime 时也同样看到了可观的收益。

 

高性能的秘密

 

在正式公告发布前,Bytecode Alliance 就曾发布文章,介绍 Wasmtime 1.0 所应用的加速技术。具体来看,Bytecode Alliance 通过加速编译器和 Runtime 的各项工作,大幅增加了 Wasmtime 的整体执行速度。

 

其中实例化 Wasm 模块的速度,则是加速的关键之一。官方提到,他们在过去一年间,针对这项工作进行了大量的优化,将模块实例化从毫秒等级加速至微秒等级,在实际的 SpiderMonkey.wasm 案例中,实例化时间从原本的 2 毫秒缩减成 5 微秒,快了 400 倍。

 

同时,官方针对 Cranelift 也进行了性能改进,最重要的工作是大幅改造托管器分配器 regalloc2。Regalloc2 应用了更高端的算法,来决定托管器分配值的方法,提升了程序性能。在导入 regalloc2 后,SpiderMonkey.wasm 的执行时性能提升约 5%。

 

Bytecode Alliance 表示,如果 WebAssembly 想要成功,就需要加速执行的工具,这样它才能够与原生程序进行竞争。“我们将继续朝着这个目标努力。”

 

GitHub 地址:


https://github.com/bytecodealliance/wasmtime/releases/tag/v1.0.0

 

参考链接:

 

https://www.phoronix.com/news/Wasmtime-1.0-Released


https://www.ithome.com.tw/news/152999

2022-09-21 14:458131

评论

发布
暂无评论
发现更多内容

双目立体匹配之视差优化

秃头小苏

7月月更 双目立体匹配

java培训之Java8 Stream 代码简化是如何实现的

@零度

stream JAVA开发

为什么说企业需要具备企业知识管理的能力?

Baklib

http请求redirect的问题

飞翔

golang

亚信科技发布“电信级”核心交易数据库AntDB7.0,助力政企“信”创未来!

亚信AntDB数据库

AntDB 国产数据库 产品发布会

FAQ制作工具推荐

Baklib

大数据培训Hive的数据存储与压缩

@零度

hive 大数据开发

答应我忘掉Postman吧,Apifox才是yyds!

程序员小毕

Java 程序员 程序人生 后端 开发工具

企事业单位该如何建设知识管理体系

Baklib

NFT数字藏品交易平台APP开发搭建

开发微hkkf5566

Github发布6天,Star55K+,这套笔记足够你拿下90%的Java面试

冉然学Java

java面试 #Github

【都 Java17 了,还不了解 Java 8 ? 】一文带你深入了解 Java 8 新特性

猫的树

java8

leetcode 135. Candy 分发糖果(困难)

okokabcd

LeetCode 贪心算法 算法与数据结构

Go 原生插件使用问题全解析

SOFAStack

Go 语言 开源软件 MOSN 问题解析 开源学习

web前端培训nodejs异步IO

@零度

node.js 前端开发

Ceph集群详细部署配置图文讲解(二)

Lansonli

云原生 私有云 Ceph 云存储 7月月更

LP单双币质押流动性挖矿系统开发

开发微hkkf5566

跟着官方文档学 Python 之:函数

甜甜的白桃

Python 递归 函数 参数 7月月更

太奇葩了!Keepalived突发高可用事故

Java全栈架构师

Java 程序员 面试 程序人生 Keepalived

对象的内存分配一定都是在堆空间吗?

领创集团Advance Intelligence Group

代码优化 内存分配

全国首创!洞见科技联合山东数据制定的「数据产品登记」两项标准正式发布

洞见科技

数据 联邦学习 隐私计算

【Docker 那些事儿】关于容器底层技术的奥秘

Albert Edison

7月月更

Windows下Tomcat内存占用过高问题跟踪(jmap 的使用)

源字节1号

软件开发 小程序开发

数据分析引擎百花齐放,为什么要大力投入ClickHouse?

字节跳动数据平台

系统首页 DIY,你的个性化需求 Pro 系统来满足!

CRMEB

一道2016年nice的笔试题引发的思考

芒果酱

7月月更

Ceph Swift Api 配置与使用(三)

Lansonli

云原生 Ceph 云存储 7月月更

nacos注册中心之客户端服务注册

急需上岸的小谢

7月月更

【Java 基础你一定要掌握的知识点】Java异常处理和设计

猫的树

Java 异常处理

【Java 实战】实现大转盘抽奖

猫的树

Java 大转盘抽奖

开源仓库贡献 —— 提交 PR

攻城狮杰森

git GitHub PR 开源贡献 7月月更

Wasmtime 1.0 发布,官方曾透露高性能的秘密_大前端_闫园园_InfoQ精选文章