私は学校で整数IDのデータベースを使用するように教えられており、C/C++でもデータベースを使用するのがよい方法かどうかを知りたいと思っています。私はOgre3Dを使ってゲームを作っているので、私はゲームコードをできるだけ少ないサイクルで使いたいと思っています。IDと配列(ベクトル)を使用したパフォーマンス
これは正確なコードではありません(私はベクターを使用しています。キャラクターや能力などについてです)が、私がウェイトにアクセスする行がボトルネックを引き起こすかどうかを知りたいのですが、私はいくつかの配列の添字をしていたので。良いオプティマイザがあるべき
struct item
{
float weight;
int mask;
item(): mask(0) {}
}
items[2000];
struct shipment
{
int item_ids[20];
}
shipments[10000];
struct order
{
int shipment_ids[20];
}
orders[3000];
int main()
{
// if I want to access an item's data of a certain order, I do:
for (int i = 0; i < 3000; ++ i)
{
if (items[shipments[orders[4].shipment_ids[5]]].weight > 23.0)
s |= (1<< 31);
}
}
私は配列にデータを置くことは、繰り返しデータをループするときのパフォーマンスを得るための最良の方法であることを聞いたことが、私はこのコードの上のあなたの意見を知りたい...
測定、測定、測定。 – pmg
どこに** i ** **を使用していない場合は、ループに入れるのはなぜですか?投稿したコードに基づいて、静的な場所を参照しているだけなのでループを解除する必要があります。 –