7

Win64 プラットフォームでの仮想割り当ての粒度とページ サイズの一般的な値は? それは SYSTEM_INFO の dwAllocationGranularity と dwPageSize です。

Win32 システムでは、これらは 64k と 4k になります。

Win32 アプリケーション用に VirtualAlloc に基づいてカスタム アロケータを設計しましたが、設計の選択が Win64 でも有効かどうか知りたいです。Win64 システムにアクセスできません。

前もって感謝します!

4

1 に答える 1

7

Vista x64 では 64k と 4k のままです。それがいつの日か変わらないかどうかは定かではありませんが、ページ サイズが小さいと TLB キャッシュに深刻な負荷がかかり、数ギガバイトのチャンクを割り当てるプログラムのパフォーマンスが大幅に低下します。また、プログラム実行中の不可解な時点で大きなページを割り当てられなくなったという問題報告もいくつか見ました。しかし、それは今のところ水晶玉を見​​つめているだけです。

于 2009-01-13T13:59:24.150 に答える