当前位置:首页 > 网站入侵 > 正文内容

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

访客3年前 (2021-12-30)网站入侵503

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 时间。

扫描二维码推送至手机访问。

版权声明:本文由黑客技术发布,如需转载请注明出处。

本文链接:https://w-123.com/104439.html

“java编程软件工具使用(js软件可以提供的信息)” 的相关文章

研究人员通过人工智能利用推特预测粮食短缺问题

宾夕法尼亚州立大学和卡塔尔哈马德-本-哈利法大学的研究人员表示,推特上的推文所表达的情绪和情感可以被实时用来评估大流行病、战争或自然灾害供应链中断可能导致的粮食短缺。 他们发现,在COVID-19大流行的早期,在美国某些州,表达愤怒、厌恶或恐惧的与食品安全有关的推文与实际的食品不足密切相关。研究人员...

乌克兰安全局关闭了五个在公民中传播恐慌和错误信息的机器人农场

据Techspot报道,乌克兰国家安全局(SBU)宣布,自俄罗斯入侵该国以来,该机构已发现并关闭了5个运营10万个社交媒体账户的机器人农场,这些账户传播与入侵有关的假新闻。 SBU在一份新闻稿中写道,这些农场位于包括哈尔科夫、切尔卡瑟、捷尔诺皮尔和外喀尔巴阡在内的地区,被用于 “大规模信息破坏”,...

苹果、Meta 被曝向伪装成执法官员的黑客提供用户数据

据知情人士透露,苹果和Meta在2021年年中回应了伪造的“紧急数据请求”,向黑客提供了用户的基本信息,如客户的地址、电话号码和IP地址。伪造的“紧急数据请求”是由多个国家/地区的执法人员的被黑电子邮件域发送的,并且经过精心设计,带有真实或虚构执法人员的伪造签名,看起来合法。 据彭博社报道,一个名...

DLL 反制:安全研究人员提出阻止勒索软件加密文件的新策略

尽管恶意软件开发者擅长利用各种软硬件漏洞来达成目的,但他们散播的成品也并非毫无破绽。比如近日,安全研究人员 John Page(又名 hyp3rlinx)就介绍了一招反制勒索软件的新套路。由个人网站和 Twitter 账号上发布的内容可知,John Page 专精于找到恶意软件本身的漏洞,并于近日分...

Android 被爆安全漏洞 根源是苹果的无损音频编解码器

近日 Android 设备被爆存在安全漏洞,但根源来自于苹果的无损音频编解码器(ALAC)。目前,美国市场 95% 的 Android 设备来自于高通和联发科,安全公司 Check Point 指出尚未安装 2021 年 12 月 Android Security Patch 的设备都存在“Out-...

Microsoft Defender 又一次误将 Google Chrome 更新视作可疑活动

近日,我们在 Twitter 和 Reddit 等平台上见到了不少系统管理员报告,可知问题主要集中在被 Microsoft Defender for Endpoint 安全防护软件标记为“可疑”的 Google Chrome 更新上。由于谷歌更新服务(GoogleUpdate.exe)没有给“goo...

评论列表

南殷囤梦
2年前 (2022-07-27)

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

忿咬同尘
2年前 (2022-07-27)

低性能或显着增加编译 JavaScript 代码所花费的 CPU 时间。

晴枙皆叹
2年前 (2022-07-27)

将 V8 堆中的内存量减少了 5-15%,同时不会降低性能或显着增加编译 JavaScript 代码所花费的 CPU 时间。

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。