写点什么

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:458194

评论

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

LiveMe x TiDB丨单表数据量 39 亿条,简化架构新体验

PingCAP

#TiDB

链上隐私交易成新刚需,Unijoin.io或成该赛道新契机

股市老人

2022年中国证券类APP创新专题分析

易观分析

金融 证券 证券app

React-Hooks源码深度解读

flyzz177

React

谈谈你在面试中遇到的一面、二面、三面有什么区别?

风铃架构日知录

Java java面试 程序员面试 面试‘’ 面试流程

4天带你上手HarmonyOS ArkUI开发——《HarmonyOS ArkUI入门训练营之健康生活实战》

HarmonyOS开发者

HarmonyOS

TiCDC 在大单表场景下的性能优化:我们如何将吞吐量提升 7 倍?

PingCAP

#TiDB

架构训练营模块三作业

现在不学习马上变垃圾

架构训练营10期

React源码分析(一)Fiber

flyzz177

React

从源码角度看React-Hydrate原理

flyzz177

React

属于 PingCAP 用户和开发者的 2022 年度记忆

PingCAP

#TiDB

ChatGPT 最近火得不要不要的

HoneyMoose

看透react源码之感受react的进化

flyzz177

React

每个人都必须为2023年的十大基本技术趋势做好准备

超自动化

AI 超自动化

5A原则

穿过生命散发芬芳

1月月更

2022年11月中国网约车领域月度观察

易观分析

网约车 行业 打车

2023-01-04:有三个题库A、B、C,每个题库均有n道题目,且题目都是从1到n进行编号 每个题目都有一个难度值 题库A中第i个题目的难度为ai 题库B中第i个题目的难度为bi 题库C中第i个题目

福大大架构师每日一题

算法 rust Solidity 福大大

从recat源码角度看setState流程

flyzz177

React

群晖NAS设置Calibre个人电子图书馆

刘旭东

群晖 Calibre 个人图书

Reids的BigKey和HotKey

小小怪下士

Java redis 程序员

如何确定解决的问题的价值?

珑彧

方法论

Java高手速成 | 数据库实训:图书馆管理系统建模

TiAmo

数据库 管理系统 1月月更

详解UDS CAN诊断:SecurityAccess Service(SID:0X27)

不脱发的程序猿

汽车电子 CAN ISO 14229 诊断和通信管理功能单元 SecurityAccess Service

Kubernetes 跨集群流量调度实战 :访问控制

Flomesh

Service Mesh 服务网格 服务网格

《解构领域驱动设计》-软件复杂度解析

珑彧

读书笔记 方法论 领域驱动设计 DDD 复杂

深入react源码看setState究竟做了什么?

flyzz177

React

一文教会你mock(Mockito和PowerMock双剑合璧)

京东科技开发者

测试 powermock Mock pom 企业号 1 月 PK 榜

TableLayout(表格布局)

芯动大师

Android Studio tablelayout 表格布局

2022年人民满意手机银行服务白皮书

易观分析

金融 白皮书 手机银行 用户

ChatGPT 使用 API 进行 Postman 调用测试

HoneyMoose

k8s 学习实战(一)

AiDaddy

k8s安装 kubenetes

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