我有一些概念,我将首先列出。如果我安装正确的话,一个32位Windows应用程序不能寻址超过3 GB的内存。但是,当虚拟地址空间中的内存用完时,它将数据移交给Windows虚拟内存管理器,以便为其所需的任何空间腾出更多空间。然后,Windows的虚拟内存管理器会将这些数据写入物理RAM中的 位置,但位于应用程序的虚拟地址空间之外。当32位应用程序再次需要此数据时,虚拟内存管理器可以通过从物理RAM加载来快速响应。
我可以想象这有开销。我们在谈论多少开销?一个64位的应用程序将能够创建一个足够大的虚拟地址空间来满足其所需的一切,但这比使用内存管理器对数据进行重新整理有多高的效率?