写点什么

WebKit 全面支持 WebAssembly

  • 2017-06-13
  • 本文字数:627 字

    阅读完需:约 2 分钟

Apple Safari 现在全面支持 WebAssembly,包括支持在未来集成 ECMAScript 模块和多线程。

Apple 为 WebKit 增加了对 WebAssembly 的全面支持,让 Safari 浏览器可以运行使用其他编程语言编写的代码。WebKit 目前支持 x86、x64 和 ARM 64 位平台上的 WebAssembly。

在浏览器里,WebAssembly 可以被作为一个 JavaScript 对象进行访问,所以 WebKit 可以重用已有的 JavaScript 功能来支持 WebAssembly。例如,WebAssembly.Instance API 是通过浏览器支持的 ECMAScript 模块来实现的,并为支持未来的特性做好准备。另外,WebKit 对 WebAssembly 的支持是线程安全的,所以可以在未来加入多线程支持,Chrome 的发展线路图中就包括了对多线程的支持。

代码被编译成WebAssembly 时,已经进行了各种性能上的优化。WebKit 增加了额外的两层优化,分别是Build Bytecode Quickly(BBQ)和Optimized Machine-code Generator(OMG),它们都是基于 B3 JIT ,WebKit 用它调优 JavaScript。据 Apple 工程师透露,BBQ 的编译速度比OMG 快4 倍,但生成代码的运行速度只是OMG 的一半。BBQ 用于加快代码的运行速度,OMG 用于预热代码,对在执行速度方面有很高要求的部分代码进行深度优化。

WebAssembly 包含在 Safari 技术预览版 32 里。Chrome 和 Firefox 在 3 月份已经提供了对 WebAssembly 的全面支持,而 Microsoft Edge 对 WebAssembly 的全平台支持处于预览模式,包括桌面版、移动版、Xbox 和混合现实

查看英文原文: WebKit Now Has Full Support for WebAssembly

2017-06-13 19:002693
用户头像

发布了 322 篇内容, 共 153.7 次阅读, 收获喜欢 148 次。

关注

评论

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

Mybatis技术专题之MybatisPlus自带强大功能之多租户插件实现原理和实战分析

码界西柚

多租户 MyBatisPlus 2月日更 多租户技术

在线格式时间计算时间差

入门小站

工具

Spotify系统架构

俞凡

架构 大厂实践 2月月更 spotify

【优化技术专题】「系统性能调优实战」终极关注应用系统性能调优及原理剖析(下册)

码界西柚

性能调优 Java 分布式 优化逻辑 技术职场 1月日更

ReactNative进阶(四十三):Mac 通过 .bash_profile 文件配置环境变量

No Silver Bullet

Mac 2月月更 .bash_profile

特征工程:归一化与标准化

强劲九

Python 人工智能 神经网络 机器学习 scikit-learn

Linux之killall命令

入门小站

Linux

微服务架构实践原则

俞凡

架构 微服务

从IaC到IaD

俞凡

云计算 基础设施即代码

ReactNative进阶(四十四):Mobile App 适配性优化

No Silver Bullet

React Native 适配 1月月更

Windows 和 Linux 上安装 TTF 字体的方法

编程三昧

HTML5, CSS3 1月月更

浅谈 Java 集合框架

宇宙之一粟

java集合总结 1月月更

JAVA新特性的入场券-函数式接口

蜜糖的代码注释

Java 后端 Java高级特性

微信朋友圈高性能复杂度分析

唐尤华

架构实战营

2021,平(jia)凡(ban)的一年

xiezhr

年终总结 2021 2021年终总结

Java NIO为何导致堆外内存OOM了?

JavaEdge

2月月更

(2-1/26) 滑雪的准备

mtfelix

300天创作

我的2021

劼哥stone

年终总结

从 TDD 到测试策略

Teobler

前端 TDD 单元测试 测试策略 测试金字塔

2021年度总结-拥抱变化

wood

300天创作

WebRTC 流媒体常见开源方案综述 | 社区征文

liuzhen007

音视频 新春征文 2月月更

简单入门计算机网络

宇宙之一粟

计算机网络 2月月更

树概念总结

en

数据结构

Kubernetes初学者指南

俞凡

架构 Kubernetes 云原生 2月月更

Promise 基本方法的简单实现

编程三昧

JavaScript Promise 2月月更

Java9特性-响应式流(Reactive Stream)

蜜糖的代码注释

Java 响应式 响应式编程 2月月更

聊聊API安全的重要性及治理思路

陈俊

安全 API 应用架构

TTF、OTF、WOFF 和 WOFF2 的相关概念

编程三昧

CSS css3 1月月更

Kubectl插件开发及开源发布分享| 社区征文

雪雷

golang 云原生 cobra kubectl plugin 新春征文

行业研究流程及资源总结

轻口味

android AI 1月月更

ReactNative进阶(四十六):移动端实现字体自适应

No Silver Bullet

自适应 React Native 2月月更

WebKit全面支持WebAssembly_JavaScript_Abel Avram_InfoQ精选文章