js软件可以提供的信息 java编程软件工具使用

V8是Google发布的开源JavaScript引擎,用C++编写,用于Google的Chrome浏览器。V8引擎可以独立运行,也可以嵌入到C++应用中。JavaScript引擎V8已经发布了7.4版本,目前处于测试阶段。正式版将在几周内与Chrome 74稳定版一起发布。这个版本带来了一些新功能,并大大提高了性能。...

V8是Google发布的开源JavaScript引擎,用C++编写,用于Google的Chrome浏览器。V8引擎可以独立运行,也可以嵌入到C++应用中。

JavaScript引擎V8已经发布了7.4版本,目前处于测试阶段。正式版将在几周内与Chrome 74稳定版一起发布。

这个版本带来了一些新功能,并大大提高了性能。

无JIT V8

V8现在可以在运行时不分配可执行内存的情况下执行JavaScript。关于这个新特性的细节,我们之前报道过:V8的新机制:JIT-less模式。

WebAssembly线程/原子

WebAssembly Threads/Atomics在非Android操作系统上启用,在chrom中可以通过chrom://flags/#
enable-web assembly-Threads启用。

该功能可以通过WebAssembly解锁用户计算机上多核的使用,从而在Web上实现新的计算密集型用例。

性能改进

使用不匹配参数的调用更快

在JavaScript中,调用函数时的参数数量与定义函数时的参数数量不同。不管参数是少还是多,都是完全有效的。同时,JavaScript函数可以通过参数对象、rest参数等获取实际参数。因此,JavaScript引擎必须提供获取实际参数的方法。在V8中,这是通过一种称为参数自适应的技术来实现的。

参数适配可以获得实际的参数,但是是以性能为代价的,而这种性能损失在现代前端和中间件框架中通常是不可避免的,因为太多的API都有可选参数或可变参数表。

7.4版本带来了解决这个问题的新特性。

在某些情况下,比如当被调用的函数处于严格模式时,既不使用参数也不使用rest参数,所以根本不需要参数自适应。现在V8在这种情况下直接跳过这个自适应过程,减少了60%以上的调用开销。

改进了本机访问器性能

Angular team发现,在Chrome中直接通过各自的get函数调用原生访问器(如DOM属性访问器)比在单态甚至巨态中访问属性要慢得多。这是因为在V8中,DOM访问器是通过函数#call()使用慢速路径调用的,而不是已经存在的用于属性访问的快速路径。

在此版本中,调用本机访问器的性能得到了提高,比访问综合状态属性快得多。效果如下:

解释器性能

在Chrome中,当下载一个大脚本时,它是通过在工作线程上流式解析的。此版本修复了在源流中使用自定义UTF-8解码的问题。修复后,流解析性能平均提高了8%。

在V8预解析器中发现了另一个问题:工作线程中的属性名出现了不必要的重复。删除这些重复数据后,流式解析器的性能提高了10.5%。

内存减少

字节码刷新

JavaScript源代码编译出来的字节占据了V8 heap 空的很大一部分,通常在15%左右,包括相关元数据。但是有很多函数只在初始化时执行或者编译后很少使用,这显然是一种浪费。

为了减少V8的内存开销,这个版本实现了一个新的字节码刷新功能,也就是说,如果编译后的字节码最近没有被执行过,那么在GC期间它将被从函数中清除。为了实现这一点,V8将跟踪函数段代码的年龄,在GC期间递增年龄,并在函数执行时将其重置为零。任何超过预设“老化阈值”的字节码的内存都将被下一个垃圾收集器取走,如果将来再次执行该函数,它将重新编译其字节码。

这种字节码刷新功能为Chrome用户节省了大量内存,并将V8堆中的内存量减少了5-15%,同时不会降低性能或显著增加编译JavaScript代码所花费的CPU时间。

本文来自倾听雪落投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/557825.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 05-22
下一篇 05-22

相关推荐

  • 初学c语言学习编程软件 常用的C语言编程代码

    常见的编程语言有哪些?想学计算机编程的同学看过来!PHP语言PHP是士兵在web app上发力的一组武器之一。你可以在使用的过程中完成工作,但是看起来很乱。在编程语言中,PHP是不断更新的。c编程语言换句话说,C语言是我在边肖接触到的第一种计算机语言,性能目前只能算一般。c

    2023-07-25 22:38:01
    610 0
  • 西瓜创客编程怎么样(西瓜创客编程怎么编写代码)

    最近身边很多家长开始讨论要不要给孩子报编程班。看到别人都报名了,不想自己的孩子掉队,但是对编程课一窍不通。我想知道他们为什么要学编程课?你希望你的孩子将来成为程序员吗?其实我和很多家长都有同样的疑惑。经过3个多月的研究分析和咨询相关专家,我得出了以下关于编

    2023-07-22 05:01:01
    174 0
  • 编程工具有哪些常用的 中国自己的编程软件

    机器视觉是一门综合技术,包括图像处理、机械工程技术、控制、电光源照明、光学成像、传感器、模拟和数字视频技术、计算机软硬件技术(图像增强和分析算法、图像卡、I/O卡等。).一个典型的机器视觉应用系统包括图像采集、光源系统、图像数字化模块、数字图像处理模块、智能判断

    2023-07-20 11:58:01
    509 0
  • java编程用什么软件 java常用的编程软件

    初学者只需要使用一些开发工具就可以学习了。新手一般从控制台应用开发入手,在cmd下调试,为你的电脑搭建一个良好的开发环境。你需要从网站上下载JDK。安装完成后,调试成功后就可以开始编写Java程序了。边肖编译了一些Java开发工具如下:1。想法Java编程软件行业最好的Java开

    2023-07-14 17:15:01
    601 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信