VirtualAlloc如何增强.net应用程序的性能?
本文关键字:应用程序 net 性能 增强 何增强 VirtualAlloc | 更新日期: 2023-09-27 17:50:46
我在一些c#应用程序中看到了VirtualAlloc/Free windows API方法的一些使用,我想知道在c#中使用这些方法的原因。
VirtualAlloc/Free对我有什么好处,有什么想法吗?
EDIT: VirtualAlloc会比典型的。net "new"语句或任何其他。net内存分配方法更好吗?
我看到的唯一好处是单个托管对象的大小被限制为2GB。如果你使用VirtualAlloc/VirtualFree
,你可以管理更大的对象。同时,我建议您为此目的使用NT堆(HeapAlloc/HeapFree
)。
查看内存状态:committed/reserved/free。您可以在虚拟分配中使用它们。在少数情况下,它们是有用的。
需要使用VirtualAllocEx的一个场景是当您需要在不同进程的地址空间中分配内存时。我无法想象VirtualAllocEx或VirtualAlloc在托管应用程序中的任何其他用例。