Segment Heap是一项技能性的底层改进,通过 “当代堆的实现办法 ”降落了运用程序的整体内存利用量。换句话说,Segment Heap是开拓者须要在他们的运用中利用的东西,微软已经在其Chromium Edge中利用了这个功能。
微软的内部测试记录显示,Edge浏览器的内存利用量减少了27%,如果谷歌能够实现这一功能,你也可以期待Chrome浏览器有一些改进。
根据外媒在今年早些时候创造的Chromium commit,谷歌也打算在Chrome中采取这一功能。不过,谷歌后来澄清说,它对微软提出的节省RAM的修复方法不会在未来的Chrome版本中启用,包括85版本。谷歌表示,Segment Heap确实减少了他们浏览器的RAM利用量,但终极也导致了性能的退步,包括CPU利用率高。

到目前为止,谷歌一贯利用.exe清单的方法来启用Segment Heap,这确实节省了一些内存,但却摧残浪费蹂躏了CPU韶光。“节省最多来自于浏览器和网络进程,而本钱紧张来自于渲染器进程。”谷歌表示。
谷歌新的测试数据表明,如果微软赞许在Windows中添加一个函数,设置或打消ntdll.dll中RtlpHpHeapFeatures中的 \"大众segment-heap-enabled \公众位,那么利用segment heap而不涌现性能退步是相称随意马虎的。
通过代码检讨可以清楚地看到,在HeapCreate和RtlCreateHeap中添加标志来逼迫启用或逼迫禁用segment hea也很随意马虎。这些方法可以很好地与manifest合营利用,而manifest本身太不灵巧,不是一个完全的办理方案。
Google的高等开拓者也在Github上提交了一个正式的帖子,寻求微软帮忙实现这两个标志。
HEAP_ENABLE_SEGMENT_HEAP--创建一个segment heap而不是NT堆。
HEAP_DISABLE_SEGMENT_HEAP--创建一个NT堆而不是segment heap,纵然在运用程序清单中要求了segment heap。
“这些标志将对所有基于Chromium的浏览器有用,”谷歌开拓者指出。
谷歌仍在试验Segment Heap,微软也可以在谷歌进行更多测试的同时帮助谷歌。未来当有办法成功实现这个功能,或者微软跳出自己的修复方法时,谷歌会重新考虑对这个功能的支持。