关于 Node.js 中的哈希泛滥漏洞…
今年七月初,Node.js 为所有当前维护的分支发布了一个安全更新,以解决哈希泛滥漏洞问题。这次中间修复以显著启动性能回退为代价。同时,V8 已经实现了一个解决方案,从而避免了性能下降。
今年七月初,Node.js 为所有当前维护的分支发布了一个安全更新,以解决哈希泛滥漏洞问题。这次中间修复以显著启动性能回退为代价。同时,V8 已经实现了一个解决方案,从而避免了性能下降。
今天我们很高兴宣布 V8 v5.9 的新 JavaScript 执行管线即将推出,并将在 v59 稳定版的 Chrome 中上线。借助这一新管线,我们在现实世界的 JavaScript 应用中实现了显著的性能提升和内存节省。我们将在本文最后详细讨论相关数据,但首先让我们来看看这条管线。
JavaScript 基准测试的历史是一段不断演进的故事。当 Web 从简单的文档扩展到动态客户端应用程序时,人们创建了新的 JavaScript 基准测试来测量那些对新用途变得重要的工作负载。这种不断的变化使得单个基准测试具有有限的生命周期。当网络浏览器和虚拟机(VM)的实现开始过度优化特定测试用例时,基准测试本身不再是其原始用途的有效代理。最早的 JavaScript 基准测试之一 SunSpider,为推出快速优化编译器提供了早期的动力。然而,随着 VM 工程师发现了 微基准测试的局限性 并找到新的方法来 优化 规避 SunSpider 的 局限性,浏览器社区 宣布退休 SunSpider 作为推荐基准测试。
for
-in
是一种被许多框架广泛使用的语言特性。尽管它十分常见,但从实现角度来看,它是一种较为晦涩的语言构造。V8 付出了巨大努力,使得这一特性尽可能快。在过去的一年里,for
-in
变得完全符合规范,并在某些情况下速度提高了 3 倍。
V8 团队目前正在开发一种新的默认编译管道,将帮助我们为真实世界的 JavaScript带来未来的加速效果。您可以在 Chrome Canary 中预览新管道,帮助我们确保当我们为所有 Chrome 频道推出新配置时不会出现任何意外。