IE和Chrome都将支持asm.js

来源:infoq 作者:邵思华
  

根据modern.IE平台上的状态显示,asm.js正处于开发阶段按照微软的说法,在Windows 10中所使用的Chakra引擎将支持asm.js,并且微软正与Mozilla进行合作,以争取尽快实现它。Chrome刚将通过TurboFan这一在V8上经过优化的编译器提供对asm.js的支持。

微软表示,用户通过IE平台建议箱表达了他们的渴望,这正是微软最终决定支持asm.js的主要原因之一。这一原本来自于Mozilla的技术目前在用户对IE的新特性请求列表中排在第五位,但讽刺的是,建议使用Blink引擎取代Trident引擎的请求却排名期望新特性列表中的第三位,而建议使用Dart VM的建议排名第八。不过用户的这些期望是不可能全部得到满足的,至少现在是不可能的,因为微软最近已经宣布了Spartan项目的成立,而不打算使用Blink引擎。

在2013年,Mozilla和Epic Games决定通过asm.js的方式让虚幻引擎(Unreal Engine)得以在浏览器中运行。当时,有一位Chromium团队的成员为V8引擎提交了一个issue #2599,它是一个让Chrome能够支持asm.js的特性请求。这个issue很长一段时间以来一直处于休眠状态,但最近它的状态突然改变为已分派,将通过TurboFan这个新的V8引擎优化编译器得以实现。V8团队在去年的晚些时候开始实现这一功能,但它在最近的Chrome 41中已经成为Beta版本,根据V8团队的技术领导Ben Titzer所说

我们已经对Chrome 41中的TurboFan进行了Beta测试,这一版本极大地提高了各种数值运算代码的性能,例如asm.js。由于我们还将进行更多的探索性尝试和优化,因此我们犹豫着是否要将该issue[#2599]关闭为“已修复”状态,但大家可以认为这个issue的状态属于“基本已修复”了。

我们正在积极地尝试启动TurboFan的各种策略,其中一个信号是“use asm”指令。作为对#73 w.r.t. AOT的回应:目前在V8中使用TurboFan时并不会一次性编译整个完整的asm.js模块。

asm.js提供了一种让由C、C++或其它语言编写的原生代码在浏览器端运行的途径。asm.js中包含了JavaScript的一个严格子集 —— 包括严格类型的整数、浮点数、数值计算、函数调用和堆访问,这将对速度起到优化作用。asm.js也在密切关注着PNaCI的发展情况,后者是Google对于在浏览器中运行原生代码的一个解决方案。起初,PNaCI的性能表现比asm.js更为出色,但最近一段时间以来,我们都没有听说它的任何进展情况。

在这篇InfoQ新闻中,可以找到更多与asm.js和PNaCI相关的内容。

查看英文原文:Both IE and Chrome Are to Support asm.js

转自 http://www.infoq.com/cn/news/2015/02/ie-chrome-asmjs?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global


时间:2015-02-27 08:41 来源:infoq 作者:邵思华 原文链接

好文,顶一下
(3)
100%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量