跳到主要内容

5 篇博文 含有标签「internals」

查看所有标签

V8中的Slack追踪

· 阅读需 19 分钟
Michael Stanton ([@alpencoder](https://twitter.com/alpencoder)),备受尊敬的*Slack*大师

Slack追踪是一种为新对象分配比它们实际需要更大的初始大小的方法,以便快速添加新属性。然后,在一段时间后,神奇地将未使用的空间归还给系统。很酷吧?

改善 V8 正则表达式

· 阅读需 8 分钟
Patrick Thier 和 Ana Peško,对正则表达式发表意见的常规专家

在默认配置下,V8 在正则表达式第一次执行时会将其编译为本地代码。作为我们对 无 JIT 的 V8 的工作的一部分,我们引入了一个正则表达式解释器。解释正则表达式的优势在于使用更少的内存,但会带来性能上的损失。本文中我们介绍了如何利用解释正则表达式的优势,同时减轻其缺点。

改进的代码缓存

· 阅读需 5 分钟
Mythri Alle,首席代码缓存官

V8 使用 代码缓存 为频繁使用的脚本缓存生成的代码。从 Chrome 66 开始,我们通过在顶层执行后生成缓存,缓存了更多代码。这使初次加载时的解析和编译时间减少了 20–40%。

V8中的快速属性

· 阅读需 13 分钟
Camillo Bruni ([@camillobruni](https://twitter.com/camillobruni)),也是[“Fast `for`-`in`”](/blog/fast-for-in)的作者

在这篇博客中,我们想解释一下V8如何在内部处理JavaScript属性。从JavaScript的角度来看,属性的区分需求只有少数几种。JavaScript对象大多像字典一样工作,具有字符串键和任意对象值。然而,规范在迭代期间将整数索引属性和其他属性区别对待。除此之外,不论属性是否是整数索引,它们的行为大致相同。

帮助我们测试 V8 的未来!

· 阅读需 3 分钟
Daniel Clifford([@expatdanno](https://twitter.com/expatdanno)),原慕尼黑 V8 酿酒师

V8 团队目前正在开发一种新的默认编译管道,将帮助我们为真实世界的 JavaScript带来未来的加速效果。您可以在 Chrome Canary 中预览新管道,帮助我们确保当我们为所有 Chrome 频道推出新配置时不会出现任何意外。