阅读更多

0顶
0踩

Web前端

原创新闻 Mozilla使WebAssembly并行启动

2016-04-28 10:21 by 副主编 mengyidan1988 评论(0) 有5239人浏览



Mozilla通过在Firefox浏览器中使用并行提高了WebAssembly字节码asm.js的JavaScript子集的性能

Mozilla的工程师通过使用并行来减少浏览器中asm.js程序启动的时间。“我们的JavaScript引擎SpiderMonkey,对asm.js和WebAssembly使用了相同的编译管道,这对WebAssembly来说有很大的好处。”工程师Benjamin Bouvier说。

他解释道,并行使原来顺序执行的程序分成若干个小任务,然后交给不同的CPU去执行。“如果你的程序使用了N个核心,那么速度就可以提升N倍。”

Mozilla的目标是,通过将MIR(middle-level intermediate representation)从主线程中分离出来,使更多的程序可以并行执行,从而提高效率。

尽管Mozilla使用新结构的并行可以提高效率,但是在移动应用方面依然是一个难题。Bouvier说,“这是因为,我们是在使用一个由后端的编译器通过上百万行代码库自动产生的优化代码。下一个工作的瓶颈会是分析代码。对asm.js来说比较致命,因为它的源代码是纯文本。解码WebAssembly已经比较快了,但是它还可以更快。”

WebAssembly以通过在浏览器中使用可移植的代码提高Web的性能而著名。它得到了Mozilla,Google,Microsoft和Apple的支持。

原文地址:Mozilla gives WebAssembly a parallelism boost
翻译:赖信涛
责编:孙思
  • 大小: 11.9 KB
0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 使WebAssembly更快:Firefox最新的流式分层编译器

    很多人认为WebAssembly是一种可能改变游戏规则的技术,因为它可以使代码在Web上运行得更快。目前已经有了一些 WebAssembly加速技术,还有一些加速方案即将出现。 其中一种加速技术就是流式编译,即允许代码一边下载...

  • Qt6.3 Webassembly编译

    Qt6.3 Webassembly编译 准备说明 编译前需要先准备好emscripten关键,具体可以参见上一篇Qtwebassembly关于emscripten环境配置,Qt6.3版本官方文档推荐的emscripten版本为3.1.6 qt6采用cmake进行工程构建,在指定...

  • WebAssembly 系列 一 ~ 六

    WebAssembly 系列 本文作者:Lin Clark 英文原文:A cartoon intro to WebAssembly 1 生动形象地介绍 WebAssembly 你可能已经听说过,WebAssembly 执行的更快。但是 WebAssembly 为什么执行的更快呢? 在这个系...

  • WebAssembly多线程支持的内部原理

    http://www.makeru.com.cn/live/1396_1021.html?s=69821几年前 WebAssembly 刚刚发布时还是一个 MVP...而如今 WebAssembly 的多线程支持已经非常成熟了,可在工具和 Chrome 中使用。这篇博文探讨了此功能的内部机...

  • 【WebAssembly 的未来】成长技能树(上)

    人们对WebAssembly有些误解。他们认为在2017年登陆浏览器的WebAssembly - 我们称之为WebAssembly的最小可行产品(或MVP) - 是WebAssembly的最终版本。 我可以理解这类误解来自何处。WebAssembly社区组实际上致力于...

  • WebAssembly 后 MVP 时代的未来:卡通技能树

    但 Mozilla 工程师发现了一个隐藏在生成的 JavaScript 中的类型系统,并想出了如何使这个JavaScript运行得非常快。 这个 JavaScript 子集名为asm.js。 其他浏览器供应商看到 asm.js 的速度非常快,所以他们也开始向...

  • 在Firefox 58中,WebAssembly组件性能提升了10倍

    Mozilla在Firefox 58中为WebAssembly(WASM)组件推出了一套双层编译系统,号称解析和编译WASM代码的速度达到30-60MB/s,足够在有线网络中实现实时编译。基准测试表明,新版的性能比旧版提高了10倍,比Chrome快10倍...

  • 【译】WebAssembly 的现状与未来 —— WebAssembly 系列(六)

    译者:Mactavish (博主本人) 链接:http://www.zcfy.cc/article/4163 原文:https://hacks.mozilla.org/2017/02/where-is-webassembly-now-and-whats-next 这是 “WebAs...

  • Rust 性能优化 : Rust 性能优化技巧,提升 Rust 程序的执行效率和资源利用率 The Rust Performance

    在过去的几年中,随着编程语言的快速发展,编程...Rust 是一门新兴的语言,它受到了谷歌、Mozilla、微软、Facebook、Red Hat、Amazon、Dropbox 等公司的青睐,被认为是一种适合嵌入式和高性能计算领域的系统编程语言。

  • Mozilla Firefox 浏览器又变快了,它究竟是怎么做到的?!

    本文是 Mozilla 开发团队的成员 Lin Clark 对 Firefox Quantum 开发的一些介绍。人们已经注意到 Firefox 速度又变快了。在过去的七个月里,我们一直在迅速地更换着引擎的主要部件,在 Firefox 中使用了 Rust 和部分...

  • 前端开发创新实践

    可显著提高加载速度、可离线工作、可被添加至主屏、全屏执行、推送通知消息……这些特性可使 Web 应用渐进式地变成 App,甚至与 App 相匹敌。这一系列特性背后有哪些核心关键技术支撑,本文将为你一一分析,解开 PWA...

  • delphi 调用浏览器内核_深入理解浏览器原理

    Chromium为多进程架构,用户从启动运行浏览器后,先后经过页面导航、渲染、资源加载、样式计算、布局、绘制、合成到栅格化,最后完成GPU展示。而页面渲染完成后,浏览器如何响应页面操作事件也进行了深入的介绍。...

  • 新版V8引擎的一些介绍和了解

    本文简单介绍在关于新于V8引擎的一些东西。 主要内容包括:V8对于不同设备,不同需要情况下提供了最合适的优化;简单介绍V8引擎的最新架构,包括新的解释器以及优化编译器和垃圾...最后介绍了V8对于webassembly的支持。

  • 说一说Web端侧AI

    [4] WebGPU: https://www.w3.org/TR/webgpu/ [5] Tensorflow.js: https://www.tensorflow.org/js?hl=zh-cn [6] WebAssembly: https://developer.mozilla.org/zh-CN/docs/WebAssembly [7] Deep Learning with ...

  • python 网页游戏 渲染_WebRender:让网页渲染如丝顺滑

    WebRender 以极速著称,但它所做的并非加速渲染,而是使渲染结果更加平滑。 依靠 WebRender,我们希望应用程序以每秒 60 帧(FPS)乃至更快的速度运行:无论显示器有多大,页面每帧发生多少变化。这是可以做到的。...

  • 一系列开源浏览器(Open source browser)介绍

    本文介绍一些主流开源浏览器(Open source browser)框架,只统计还在更新的开源浏览器,比较出名的有Chromium,Mozilla Firefox、Brave、GNOME Web等等,帮助大家方便选择什么浏览器进行GUI开发。有些浏览器对系统...

  • 一些可以参考的文档集合15

    pgvector 提供了 ivfflat 算法以近似搜索,它的工作原理是将相似的向量聚类为区域,并建立一个倒排索引,将每个区域映射到其向量。这就是 ANN 性能/召回率的结果:访问的中心越多,结果就越精确,但这是以牺牲性能为...

  • 浏览器的工作原理

    有 async:加载和渲染后续文档元素的过程将和 script 的加载与执行并行进行(异步) 有 defer:加载后续文档元素的过程将和 script 的加载并行进行(异步),但是 script 的执行要在所有元素解析完成之后 四、V8 ...

  • 梦断代码--一个程序员的自白 (一)

    本文谢绝转载 梦断代码--一个程序员的自白 (一)                                  --当一个有价值的人或事物逝去,缅怀他的人便为之立碑,写下墓志铭。 本文以此献给Protein。     看过一本同样叫做《梦断代码》的书,英文名叫《dream in code》 我总觉得翻译得不准确。 在那本书中,讲述了一个软件项目Chandler失败的前

Global site tag (gtag.js) - Google Analytics