Win64平台上虚拟分配粒度和页面大小的典型值是什么?这对应于SYSTEM_INFO结构体中的dwAllocationGranularity和dwPageSize参数。
在Win32系统上,它们分别为64k和4k。
我需要知道这些信息,因为我已经为一个Win32应用程序设计了一个基于VirtualAlloc的自定义分配器,并想知道我的设计选择在Win64上是否仍然有效。我无法访问Win64系统。
提前致谢!
Win64平台上虚拟分配粒度和页面大小的典型值是什么?这对应于SYSTEM_INFO结构体中的dwAllocationGranularity和dwPageSize参数。
在Win32系统上,它们分别为64k和4k。
我需要知道这些信息,因为我已经为一个Win32应用程序设计了一个基于VirtualAlloc的自定义分配器,并想知道我的设计选择在Win64上是否仍然有效。我无法访问Win64系统。
提前致谢!
目前在Vista x64上,大小仍然是64k和4k。不确定是否会有变化,小页面大小正在对TLB高速缓存施加严重压力,这会导致为分配多个GB块的程序性能显著下降。我还看到了一些问题报告,即在程序执行的某个难以理解的时刻无法再分配大页。但现在这只是一个猜测。