×

webassembly阮一峰 em c

webassembly阮一峰(在Firefox中,如何加快JavaScript和WebAssembly代码的调用时间)

admin admin 发表于2023-04-16 04:34:51 浏览66 评论0

抢沙发发表评论

本文目录

在Firefox中,如何加快JavaScript和WebAssembly代码的调用时间

由官方博客文章可知,通过 JavaScript 执行 1 亿次 WebAssembly 函数调用的时间,已经从此前的 5500 ms(5.5 秒)、降低到了现在的不到 500 ms(0.5 秒)。

在运行依赖于 WebAssembly 的页面(包括一些基于浏览器的游戏)时,这项改进会更加明显。

此前,Mozilla 一直在使用 C++ 来帮助理解 WebAssembly 代码、并将之传递给 JavaScript 代码。

为了提升速度,Mozilla 决定直接切断这个“中间人”。该公司称:

我们拿到了入口存根处(entry stub)运行的 C++ 代码,让它可被 JIT 代码直接调用。

当引擎从 JavaScript 向 WebAssembly 切换时,就会解包 entry stub 数值、并将之放到正确的位置。

此外,Mozilla 还提升了通过 WebAssembly 调用浏览器内置函数的速度,以及从 JavaScript 到 WebAssembly 的单态调用。

如果你对内部工作原理的变化深感兴趣,请一定不要错过 Mozilla 官方撰写的这篇通俗易懂的博客文章(附有趣味的插图和注释)。

https://hacks.mozilla.org/2018/10/calls-between-javascript-and-webassembly-are-finally-fast-%f0%9f%8e%89/

目前Java和前端哪个更吃香

前端

前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页。随着互联网技术的发展,HTML5,CSS3,前端框架的应用,跨平台响应式网页设计能够适应各种屏幕分辨率,合适的动效设计,给用户带来极高的用户体验。前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括基本的HTML和CSS以及JavaScript/ajax,最新的高级版本HTML5、CSS3,以及SVG等。

Java

Java是一门面向对象编程语言,具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

前端&Java

总的来说,Java开发和Web前端开发都是开发领域里需求量比较大的工作岗位。

需求量

Java语言的使用场景比较丰富,包括Web开发、大数据开发、后端开发、Android开发等,他的整体需求量比较大。另外,由于项目开发过程中,往往后端的功能模块比较多,所以相应的开发人员也会比较多。从项目整体的任务量上来说,前端开发往往并没有后端开发的任务量大。

发展前景

从发展前景来看,前端开发后端化(Nodejs),后端开发前端化(WebAssembly)都是比较明确的趋势,未来前后端开发将进一步融合。对于大部分Java程序员来说,掌握一定的Web前端开发知识,尤其是JavaScript知识,已经是一个比较常规的要求了,这样会在开发的过程中节省大量的时间。对于前端开发人员来说,通过Nodejs来编写后端处理程序也将是一个比较常见的选择。从这个角度来看,未来Java开发和Web前端开发的前景都比较广阔,但是知识结构需要进一步丰富。

所以总的来说还是建议您先学Java。