分享

IE和Chrome都将支持asm.js

 quasiceo 2015-02-27

IE和Chrome都将支持asm.js

时间 2015-02-26 23:55:00 InfoQ 原文  http://www./cn/news/2015/02/ie-chrome-asmjs

根据 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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多