由于微软通知不再提供对堆类型的控制,谷歌也决定今后不再使用 Windows Segment Heap 技术。据说试验结束后,Chrome 将切换到据说能够节省不少内存资源的 PartitionAlloc 技术。此外谷歌也注意到,尽管 Windows Segment Heap 的节流效果显著,但同时也会对性能造成较大的影响。
(图 via Techdows)
据悉,谷歌已经禁用了 Chrome 85 中的相关功能,同时 Bruce Dawson 将 WindowsSegment Heap 的性能回退问题打上了“已结案”的标记。
我在 GitHub 上提出了一个问题,希望能够对堆继类型展开更好的控制。
微软的答复是他们将继续致力于改善 Segment Heap,以期减轻所有应用程序的影响。
不过新旧版本之间的差异,可能不会随着时间的发展而保持一致,但最终微软不想赋予这方面的控制权。
Segment Heap 相关评论(来自:GitHub)
此外 Bruce Dawson 证实 Chrome 将默认使用 PartitionAlloc:
作为替代,Chrome 会在默认情况下改为使用 PartitionAlloc 。
Canary 分支的 crrev.com/c/2543884 这个问题似乎不再相关,所以我还是把这个贴子给结案吧!(毕竟都不用 Segment Heap 了)
至于 PartitiionAlloc,它其实是 Blink 引擎中主打性能和安全性优化的内存分配器,感兴趣的朋友可移步至官网作深入了解。