Chrome的一小步,V8的一大堆
V8对其堆大小有一个硬限制。这充当了防止应用程序内存泄漏的保护措施。当应用程序达到这一硬限制时,V8会执行一系列最后的垃圾回收措施。如果垃圾回收未能释放内存,V8会停止执行并报告内存不足故障。如果没有这一硬限制,内存泄漏的应用程序可能会占用所有系统内存,从而影响其他应用程序的性能。
V8对其堆大小有一个硬限制。这充当了防止应用程序内存泄漏的保护措施。当应用程序达到这一硬限制时,V8会执行一系列最后的垃圾回收措施。如果垃圾回收未能释放内存,V8会停止执行并报告内存不足故障。如果没有这一硬限制,内存泄漏的应用程序可能会占用所有系统内存,从而影响其他应用程序的性能。
这篇博文讲述了 V8 最近将正则表达式的内置函数从自托管的 JavaScript 实现过渡为直接连接到我们基于 TurboFan 的新代码生成架构的实现。
在过去的一年里,V8团队开发了一种新方法来衡量和理解真实的JavaScript性能。我们利用从中获得的洞察力改变了V8团队加速JavaScript的方法。我们新的真实世界关注点代表了从传统性能关注点的重大转变。我们相信,当我们在2017年继续应用这一方法时,它将显著提高用户和开发人员在Chrome和Node.js中对V8真实世界JavaScript性能的依赖性。
Node.js 的受欢迎程度在过去几年里稳步增长,我们一直致力于让 Node.js 更加优秀。本文重点介绍了 V8 和 DevTools 的一些最新努力。
你现在可以使用 Chrome 开发者工具调试 Node 应用。Chrome DevTools 团队将实现调试协议的源代码从 Chromium 移到 V8,使 Node 核心更容易保持与调试器源代码和依赖项同步。其他浏览器厂商和 IDE 也使用 Chrome 调试协议,共同提升开发者使用 Node 时的体验。
今天我们很高兴与 Firefox 和 Edge 一起宣布 WebAssembly 浏览器预览。WebAssembly 或 Wasm 是一种为网页设计的新运行环境和编译目标,由 Google、Mozilla、Microsoft、Apple 和 W3C WebAssembly 社区组 的合作伙伴共同设计。
内存消耗是 JavaScript 虚拟机性能权衡空间中的一个重要维度。在过去的几个月中,V8 团队分析并显著减少了多个网站的内存占用,这些网站被认为是现代 Web 开发模式的代表。在这篇博客中,我们展示了分析中使用的工作负载和工具,概述了垃圾回收器的内存优化,并展示了我们如何减少 V8 的解析器及其编译器的内存消耗。