2次元座標(符号付き短距離)で識別されるアイテムの数があります。すべてのアイテムは、64KB のデータを含むクラスです。常時500~1500点ほどの商品がございます。アイテムは通常、ポイントの周りに ~ 20 のグループになっています。私の質問は、メモリをあまり消費しないようにどのようにマップすればよいかということです。アイテムはゆっくりと追加/削除され (1 秒あたり 1 ~ 10)、非常に頻繁にフェッチされるため、リストからの要素 (より大きな構造へのポインター) のフェッチはできるだけ高速にする必要があります。
私が思いついたのは、いくつかの gridContainer クラスがあり、64x64 ポインターの四角形を格納するとしましょう。他の gridContainer を格納するメイン グリッド コンテナーがあり、このネストされた gridContainer は、マップする実際のアイテムを格納します (これにより、4096x4096 の実際のアイテムが許可されます)。[260, 130] などの特定のアイテムにアクセスするには、それを 64 で割り、商をとって親 gridContainer の位置を見つけ、余りをとってネストされた gridContainer の位置を見つけます。したがって、[270,145] の場合、[4,2] と [14,17] になります。
私も使おうと思っていたのstd::map
ですが、中身がわからず、どんな性能が期待できるのかもわかりません。
私の方法に関する提案、またはそれを行うためのより良い方法はありますか?