Win64平台上虚拟分配粒度和页面大小的典型值是什么?这是SYSTEM_INFO的dwAllocationGranularity和dwPageSize.
在Win32系统上,这些将是64k和4k.
我需要知道,因为我为Win32应用程序设计了一个基于VirtualAlloc的自定义分配器,并想知道我的设计选择在Win64上是否仍然有效.我无法访问Win64系统.
提前致谢!
在Vista x64上它仍然是相同的,64k和4k.不确定是否有一天不会改变,小页面大小会对TLB缓存造成严重压力,对于分配数千兆字节块的程序而言,会大大降低性能.我还看到了几个问题报告,说明在程序执行期间不能再在一些不可思议的点上分配大页面了.但那现在只是水晶球盯着看.