武汉的开发者们注意啦!AI技术战略、框架以及最佳实战尽在Azure OpenAI Day 了解详情
写点什么

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

评论

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

CSS的设计模式(三)ITCSS

Augus

CSS 8月日更

农业第一性原理

非著名程序员

个人成长 认知提升 思维 8月日更

多看了几套房

escray

生活记录 8月日更

Go- 时间与日期

HelloBug

时间 Go 语言 日期

深入了解RocketMQ之客户端

邱学喆

你的项目真的适合微服务架构吗?微服务架构有哪些痛呢?(一)

我爱娃哈哈😍

微服务 后端 架构设计 架构设计实战

sql task03 复杂一点的查询

橙橙橙橙汁丶

MySQL远程连接

一个大红包

8月日更

闲话哲科思维与软件开发

印哥爱学习

计算机 经验总结

模块一作业

TIEDPAG

架构训练营

上游思维:先天下之忧而忧

石云升

读书笔记 8月日更 上游思维

模块一作业

Geek_fc100d

「架构实战营」

Spring XML 原理

gin

xml spring 自定义标签

NodeJs深入浅出之旅:包与NPM 🌛

空城机

大前端 Node 8月日更

Go- 指针

HelloBug

指针 Go 语言

英国“蓝色”氢气计划因碳足迹高遭受重击

CECBC

Go- 字符串处理

HelloBug

Go 语言 字符串处理

理性创业,堵住失败的源头

boshi

创业

架构实战营 - 模块一作业

en

架构实战营

数字人民币弯道超车领先世界,采用独创设计彻底根治区块链顽疾

CECBC

网络攻防学习笔记 Day113

穿过生命散发芬芳

网络攻防 8月日更

醒酒菜:动画图解核心内存区--堆

阿Q说代码

GC 堆内存 8月日更 堆区分代 图解对象分配过程

区块链技术在溯源服务中的应用思考

CECBC

从程序与机器码看低代码演进方向

印哥爱学习

编程 低代码

LeetCode刷题01-简单 两数之和

ベ布小禅

8月日更

图像分类-flower_photos 实验研究

毛显新

人工智能 神经网络 tensorflow 图像处理

container 包详解

Rayjun

Go 语言

微信业务架构图 & 学生管理系统

I see you

Flutter 绘制动机 VSYNC 流程源码全方位分析

工匠若水

flutter android 8月日更

小A数仓之路:数仓现状与解决方案

水滴

数据仓库 数据架构 8月日更 数据架构体系 数据规范

在网页上直接运行Win11,5秒内用AI克隆自己的声音 | 蛮三刀酱的Github周刊第二期

Zhendong

GitHub AI Windows11

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