JavaScript vs WebAssembly:哪个更节能、更快?
【CSDN 编者按】 Wasm 是否会取代 JavaScript ?这是 WebAssembly 发布之初不少人发出的疑问,本文作者在通过各项基准测试之后,回答了这个问题。
作者 | Loraine Lawson 责编 | 弯月 出品 | CSDN(ID:CSDNnews)链接:https://thenewstack.io/javascript-vs-wasm-which-is-more-energy-efficient-and-faster/
JavaScript 还是 WebAssembly(简称 Wasm),究竟哪个运行速度更快、更节能?葡萄牙米尼奥大学对这个问题展开了研究,并得出了结论:虽然在实验室微基准测试方面,JavaScript 比 Wasm 更节能、更快,但在实际应用程序中,Wasm 在速度和节能方面皆优于 JavaScript,有时能高出 30%。
(相关资料图)
请不要忘记,如今 Wasm 还处于发展的早期阶段。
研究员兼软件工程师 João De Macedo 表示:“Wasm 仍处于起步阶段,只有时间能告诉我们它将如何发展。在我们看来,Wasm 完全有可能战胜原生应用,并帮助网络浏览器成为 21 世纪的操作系统。”
微基准测试与实际应用
该研究于 2022 年发表,不仅参考了微观基准,也考虑了实际情况。
João De Macedo解释道:“微基准测试是一种程序,用于跟踪和测量某个明确定义的任务的性能,例如持续时长、操作速率、带宽等。微基准测试是测量软件系统性能的主要方法之一,因此,Wasm 也不例外。”
由于 Wasm 的主要目标之一是提高 Web 应用程序的性能,因此比较 Wasm 和 JS 的运行时和节能的表现非常重要。
从微基准测试来看,在有些情况下, JavaScript 在速度和节能方面的表现都超过了 Wasm。 然而,在 Google Chrome 和微软 Edge 上,Wasm 不仅比 JavaScript 更节能,而且性能也更好。 但是,JavaScript 在 Mozilla Firefox 上确实比 Wasm 具有更好的性能,而且大多数时候的差异很明显。
尽管如此,最终 Wasm 仍将在实际的应用程序中占据主导地位。
报告称,“初步结果表明,WebAssembly 虽然仍处于起步阶段,但已开始超越 JavaScript,并且 WebAssembly 的成长空间也更大。统计分析表明,与 JavaScript 相比,WebAssembly 表现出了显著的性能差异。”
JavaScript 与 Wasm 研究的实际表现
该研究通过 Wasmboy 基准测试,测量了 Wasm 和 JavaScript 在实际应用程序中的表现。Wasmboy 基准测试是一个 Gameboy/Gameboy Color 模拟器,是用Typescript 编写的Wasm基准测试。Wasmboy 是用 JavaScript/TypeScript 编写的,创建的主要目标是比较 AssemblyScript 编译器生成的 Wasm 与 TypeScript 编译器生成的 ES6 最新版 JavaScript 之间的运行时性能。
报告称:“该游戏机包括六个开源游戏,可以从游戏机中运行。我们更新了 WasmBoy 的源代码,指定了执行游戏的浏览器。”
因此,总共有六款游戏在三种浏览器(Chrome、Edge 和 Firefox)上运行,使用两种语言,这样团队就有了 36 个独特的样本。
此外,他们还使用了 PSPDFKit 基准测试。该基准测试使用的软件支持在任何平台上查看、注释和填写 PDF文档中的表格。该报告指出,创建开源基准是为了评估将软件移植到 Wasm 生态系统的可能性,并比较 Wasm 与 JavaScript 的实现。该团队修改了应用程序的源代码,使用这两种语言(was 和 asm.js)执行多个输入。为了利用实际输入执行基准测试,该团队考虑了五个不同的 pdf 文档,其中包括将一本书分为三个部分、一篇科学论文和 20 张幻灯片。
报告称,“与 Wasmboy 基准测试类似,我们编写了一些 makefile,在不同浏览器中自动执行测试”,结果得到了在三种浏览器中运行的、用两种语言编写的五个示例程序,也就是说共有 30 个各不相同的程序。
此外,此次研究还考虑了各种微基准,这些程序最初是用 C 编写的,然后使用 Emscripten 编译器编译成了 Wasm 和 JavaScript。还有一些其他的语言也可编译为 Wasm,其中包括 C/C++、Rust、Go、Python 和 AssemblyScript(TypeScript 的一种形式)。
有关微基准测试和研究其他方面的详细信息,请参见 João De Macedo、Rui Abreu、Rui Pereira 和 João Saraiva 的论文《WebAssembly与JavaScript:能源和运行时性能》(https://ieeexplore.ieee.org/document/9830108)。
总的来说,他们可以通过这种方法检查JS 和 Wasm 如何以不同方式处理规模和输入大小。之前有研究使用了这种方法,但只检查了虚拟机的性能。De Macedo 的研究希望了解真实世界的应用程序,因此该团队开发了一个框架来测量基于浏览器的环境中的性能。
Wasm 是否会取代 JavaScript?
De Macedo 认为,“也许永远不会,因为 JS 更适合不需要超高性能的网页。目前,Wasm 只能作为 JS 的补充,而不能取而代之。但是,如果 Wasm 得到进一步发展,就有可能在某些应用程序中取代 JS,因为 Wasm 的加载时间更快,而且资源的使用效率更高。”
De Macedo 认为,从长远来看 Wasm 将带来颠覆性的改变。
他表示:“Wasm 不仅会彻底改变Web,而且还有可能颠覆技术市场的多个领域,包括云,尽管越来越多的组织采用了容器模式,但并未能真正满足每个人都需求。”
下一篇:最后一页
精心推荐
- 去年京津冀工信部门推进签约570多项高端高新项目
- 京津冀区域协同创新指数增长迅速
- 1至2月河北省工业生产平稳开局 规模以上工业增加值同比增长6.0%
- 浙江绍兴15日0-21时新增41例确诊病例
- 沈阳大气优良天数达近5年来最好水平
- 辽宁实行市级政府集中监管 首站定点冷库加强疫情防控
- 辽宁省25个博士后团队冲刺全国博士后创新创业大赛
- 安徽省宿州市埇桥区大营镇大营新村调整为中风险地区
- 云南哀牢山4名地质调查人员因公殉职原因查明
- 全国首部涉及“非现场执法”的法规施行 浦东新区打造引领区数字化城市治理样板
- 杭州一封控小区完成第三轮核酸检测 前两轮检测均为阴性
- 集采未中选药品现在怎么样了?这组数据告诉你
- “海归”博士后王暾:专注灾害预警科技创新 打通灾害预警“最后一公里”
- 福建宣判一起涉恶案件 10人犯罪团伙强迫交易、非法采矿获刑
-
中新网郑州12月15日电 (记者 韩章云)针对近日网友实名举报中国农业发展银行太康县支行员工夏某华吃空饷一事,中国农业发展银行河南省
-
中新网宿迁12月15日电 (记者 刘林)“房子干净又敞亮,社区漂亮又整洁。”15日,家住江苏宿迁牛角淹社区的袁有亮谈起新家,兴奋的心情
-
中新网通辽12月15日电 (记者 张林虎)15日,记者从内蒙古自治区通辽市科左后旗公安局获悉,该局打掉一个帮助网络犯罪转账的“跑分团队
-
中新网安徽阜阳12月15日电 ( 成展鹏)12月15日,规划占地面积2500亩、投资总额75亿元的安徽省阜阳市太和县保兴医药健康产业园内一片繁
-
中新网杭州12月15日电 (郭其钰 张益聪)从焦虑不安到互帮互助,浙江省杭州市上城区凯旋街道新城市广场B座里的257人经历了难忘的72小时
X 关闭
X 关闭
产业
-
不用跑北京 在家门口也能挂上顶...
日前,我省首个神经疾病会诊中心——首都医科大学宣武医院河北医院...
-
“十四五”期间 河北省将优化快...
从省邮政管理局获悉,十四五期间,我省将优化快递空间布局,着力构...
-
张家口市宣化区:光伏发电站赋能...
3月19日拍摄的张家口市宣化区春光乡曹庄子村光伏发电站。张家口市宣...
-
“张同学”商标被多方抢注 涉及...
“张同学”商标被多方抢注,官方曾点名批评恶意抢注“丁真” ...
-
山东济南“防诈奶奶团”花式反诈...
中新网济南12月15日电 (李明芮)“老有所为 无私奉献 志愿服...
-
广州新增1例境外输入关联无症状...
广州卫健委今日通报,2021年12月15日,在对入境转运专班工作人...
-
西安报告初筛阳性病例转为确诊病例
12月15日10:20,经陕西西安市级专家组会诊,西安市报告新冠病毒...
-
广东东莞新增本土确诊病例2例 ...
(抗击新冠肺炎)广东东莞新增本土确诊病例2例 全市全员核酸检测...
-
中缅边境临沧:民警深夜出击捣毁...
中新网临沧12月15日电 (胡波 邱珺珲)记者15日从云南临沧边境...
-
“土家鼓王”彭承金:致力传承土...
中新网恩施12月15日电 题:“土家鼓王”彭承金:致力传承土家...