0

同じタイプのオブジェクトをたくさん作成したいのですが、ページ ミスを避けるためにそれらをメモリ内で比較的近くに配置したいと考えています。

オペレーティング システム (Windows プラットフォーム) に、特定のアドレスにできるだけ近いメモリを割り当てるように指示する方法はありますか? (アドレスのヒント)
MSDN の奥深くに隠されている機能はありますか?

オペレーターの配置が新しいことは知っていますが、他のトリックがあるかどうかを調べようとしています。
そして、はい、新しい配置でカスタムメモリ管理を作成する方法を知っています....

擬似コード (存在する場合):

Myclass *a = new Myclass();

Myclass *b = AloocateNear(a,sizeof(Myclass));
4

2 に答える 2

6

を使用しstd::vectorます。インデックス X と X+1 の項目は、互いに隣接していることが保証されています。


コメントで指摘されているように (thanks sheu)、この解決策により、個々のオブジェクトを破壊することが難しくなります。

于 2013-02-02T11:04:40.670 に答える
2

新しい配置が答えです。局所性に本当に関心がある場合は、何らかのメモリ プールで新しい配置を使用する必要があることは明らかです。

于 2013-02-02T11:03:17.420 に答える