因性能问题,Chrome 85 将禁用“堆内存”功能

发表于:2020-7-21 10:37

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:开源中国

  在 Windows 10 May 2020(20H1/Version 2004)更新中,微软引入了名为“堆内存(Segment Heap)”的内存管理机制,能将新版 Microsoft Edge 的内存使用率降低 27%。
  不过谷歌测试中发现,堆内存功能在 Windows 10 2004 上为 Chrome 带来的内存改进是以增加 CPU 使用量为代价的。优化了浏览器的内存占用,但牺牲了 CPU 使用率,Chromium 团队为此决定在 Chrome 85 稳定版中禁用该功能。
  堆内存(Segment Heap)是一种现代堆的实现方式,通常来说会降低整体内存使用量。谷歌在今年 6 月下旬宣布,Canary 通道的 Chrome 版本(version 85.0.4182.0)已经开始支持 Segment Heap 内存管理机制。实验发现,浏览器和网络服务实用程序进程等方面能节省数百兆内存。实际结果会有很大的不同,多核机上的节省幅度最大。
  不过在进一步的深入测试和探索之后,Chromium 团队发现会 Windows 的堆内存机制导致系统性能降低。
  在版本号高于 Build 19041(Windows 10 Version 2004)的版本中使用 Segment Heap 来替代 legacy heap(应用此 commit )。然而测试发现这会导致 WebXPRT3、Speedometer2 和 JetStream2 的性能倒退。
  微软员工表示,无论是内存还是 CPU 的使用都会受到影响。在这种情况下,内存的改善伴随着 CPU 使用率的增加,并提出了两个方案来克服这个问题。
  1)减少浏览器的瞬时堆分配量。这将需要在整个浏览器代码库中进行重大改变。
  2)提升 Segment Heap 本身的性能。这只能由 Windows 团队解决,目前正在研究方案。
  Chromium 团队成员 Bruce 在帖子中指出:" M85 已经有很多其他的优化,而同时部署这项变更(同时的内存改进和性能倒退),如何平衡变得有点困难。虽然我从实验室测试中听到了关于节省内存的令人鼓舞的事情,但我不认为我们有任何办法让这个启用,直到我们在 20H1 上有明确的遥测数据和实验室测试,这两者都不会及时发生在 M85 上。所以,我们的计划是在 M85 上禁用这个功能(从而给我们提供另一个遥测数据点),然后在未来重新考虑。"

本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号