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

   2023-04-12 互联网0
核心提示:V8 是 Google 发布的开源 Javascript 引擎,采用 C++ 编写,在 Google 的 Chrome 浏览器中被使用。V8 引擎可以独立运行,也可以用来嵌入到 C++ 应用程序中执行。 Javascript 引擎 V8

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

V8 是 Google 发布的开源 Javascript 引擎,采用 C++ 编写,在 Google 的 Chrome 浏览器中被使用。V8 引擎可以独立运行,也可以用来嵌入到 C++ 应用程序中执行。

Javascript 引擎 V8 发布了 7.4 版本,目前处于 beta 阶段,正式版将于几个星期后与 Chrome 74 Stable 一起发布。

此版本带来了一些新特性,并极大提升了性能。

JIT-less V8

V8 现在不需要运行时分配可执行内存就可以执行 Javascript,关于这个新特性的具体细节,之前我们有报导过:V8 新机制:JIT-less 模式。

WebAssembly Threads/Atomics

在非 Android 操作系统上启用了 WebAssembly Threads/Atomics,可以通过 chrom://flags/#
enable-webassembly-threads 在 Chrome 中启用此功能。

此特性可以通过 WebAssembly 解锁用户计算机上多核的使用,从而在 Web 上实现新的、计算量大的用例。

性能提升

参数不匹配的调用速度更快

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

参数自适应可以获取实际参数,但却是以性能为代价的,而这种性能损耗在现代前端和中间件框架中通常是没法避免的,因为有太多 API 具有可选参数或可变参数列表了。

V8 7.4 版本中带来了一项新特性解决了这一问题。

在某些情况下,比如当被调用的是严格模式的函数时,既不使用参数也不使用 rest 参数,这时候就完全不需要去进行参数自适应。现在 V8 在这种情况下就直接跳过这一自适应过程,将调用开销减少了超过 60%。

改进了原生访问器性能

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

此版本中提高了调用原生访问器的性能,使其比综合态属性访问快得多,效果如下:

解释器性能

在 Chrome 中,下载大脚本时是在 worker 线程上以流进行解析的,此版本修复了一个源流中用自定义 UTF-8 进行解码的问题,修复后使得流式解析性能平均快了 8%。

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

内存减少

字节码 flush

从 Javascript 源码编译的字节码占据了很大一部分 V8 堆空间,通常约为 15%,包括相关的元数据。但是有许多函数只在初始化期间执行,或者在编译后很少使用,这显然是一种浪费。

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

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

 
标签: 软件 字节 函数
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与爱美生活网(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 名人警句软件
    信息安全技术(人脸识别软件)一、前言今天,全球各地的科技和生活发展得如此迅速,在不断进行技术革新和升级的同时,网络安全的保护变得更加重要。随着技术的不断发展和改变,数字安全也变得越来越重要,这样可以保证信息的安全性,提高数字安全等级。随着科
    03-10
  • 数码软件产品教程:支付宝教育优惠怎么认证在哪认证
    数码软件产品教程:支付宝教育优惠怎么认证在哪
    我们不论是在使用数码产品也好,还是在使用APP软件也好,很多时候其实我们都无法真正的将这些APP及数码产品设备的功能完完全全的用明白,也无法用全,因为很多功能是我们不知道的,所以这个使用我们的体验感或许就没有那么完美了,所以小编就来给大家分
  • 作曲软件哪个好(免费的音乐编曲软件介绍)
    作曲软件哪个好(免费的音乐编曲软件介绍)
    twig Studio for mac是一个款运行在MacOS平台上的音乐创作软件。Bitwig Studio可以为您提供任何风格的音乐创作,它有一个双窗口界面与一个混合剪辑发射器和安排视图,这是非常相似的生活,包括了每一个动态的解决方案,
  • 什么牛定位软件(位置定位软件)
    什么牛定位软件(位置定位软件)
    什么牛定位软件(位置定位软件)到了上学的年龄,父母把孙卫送到重庆盲校,初中毕业后,他又参加了盲人按摩技能的培训,经过两年的学习和实践,熟练地掌握了理疗按摩技术,然后,他独自外出,开始了一个盲人的求职之旅。一个十几岁的盲人孩子,孤身一人外出闯
  • mp3音乐免费下载软件推荐(好用的mp3音乐免费下载软件)
    mp3音乐免费下载软件推荐(好用的mp3音乐免费下
    随着版权意识的不断加深,现在各家音乐平台之间的良性竞争越愈演愈烈,这给热爱音乐的小伙伴们带来了很大的困扰,版权不全的不便,导致了很多人为了听不同歌手的歌单需要同时下载两三个APP,那么有没有什么软件或者小技巧可以解决这种烦恼呢?今天,小编来
  • 负分滚粗’什么意思(社交娇憨给人软件)
    负分滚粗’什么意思(社交娇憨给人软件)
    负分滚粗的意思有:1、起源于社交软件,意为滚出去,是让不受欢迎的人离开楼主所开帖子的委婉说法。2、表示绘画编辑中将特定部分滚动加粗。3、滚粗常伴有某种娇憨的意味。4、社交软件里专门给人打分的红人,经常说负分滚粗。表示给你的分数比零还低,出去
  • 三星手机怎么更新软件(三星更新软件商店)
    三星手机怎么更新软件(三星更新软件商店)
    1、当系统自带三星软件的情况下,手机打开软件后会自动提示,则可进行更新;2、可以通过三星应用商店更新软件,进入三星应用商店,而后点击菜单键,选择设定,此时应用程序更新通知开启;3、如果是第三方的软件,可查看该该软件中是否有检查更新,如有可进
  • 数码软件产品教程:荣耀x10支持密码保险箱功能吗有密码保险箱吗
    数码软件产品教程:荣耀x10支持密码保险箱功能吗
    我们不论是在使用数码产品也好,还是在使用APP软件也好,很多时候其实我们都无法真正的将这些APP及数码产品设备的功能完完全全的用明白,也无法用全,因为很多功能是我们不知道的,所以这个使用我们的体验感或许就没有那么完美了,所以小编就来给大家分
  • 苹果1312系统怎么更新软件
    苹果1312系统怎么更新软件
    iPhone手机系统升级至iOS13.1.2时,如果您想继续升级,那么您可以打开“设置”应用,然后点击“通用”选项,进入后打开“软件更新”选项,接着点击“下载并安装”按钮即可进行升级。升级过程可能会非常漫长,需要用户耐心等待。同时在手机升级
  • excel产品激活失败怎么办(激活表格操作软件)
    excel产品激活失败怎么办(激活表格操作软件)
    excel产品激活失败需要使用激活工具进行重新激活操作,需要下载相关激活软件,下载了相关激活工具之后进行解压操作,完成之后右键点击激活软件,然后在呼出的操作菜单中选择“以管理员身份运行”,然后进入软件的激活界面,先点击第一项“Install
点击排行