私はデータのためのいくつかのコンテナを持っており、それを構造体に入れようと考えています(関数などに与えるのが簡単です)。 プログラムはできるだけ速くなければなりません。構造体のコンテナへのアクセスが遅くなるか、まったく同じですか?C++ STLコンテナのパフォーマンス。構造体の高速化または構造体なしの高速化
// data without struct
double d1;
bool b1;
std::map<std::string, std::deque<double>> map1;
std::vector<std::deque<int>> a1;
std::vector<std::deque<int>> a2;
std::vector<std::vector<<std::deque<int>>> a3;
std::vector<std::vector<<std::deque<int>>> a4;
// ... and perhaps even more
VS
struct containerstruct
{
double d1;
bool b1;
std::map<std::string, std::deque<double>> map1;
std::vector<std::deque<int>> a1;
std::vector<std::deque<int>> a2;
std::vector<std::vector<<std::deque<int>>> a3;
std::vector<std::vector<<std::deque<int>>> a4;
// ... and perhaps even more
};
containerstruct data;
さて、測定しましたか?早期の最適化はすべての悪の根源です:) – Rakete1111
違いはありません。しかし、あなたはそれを自分で試してみませんか? – DeiDei
どのように使用するかによって異なります。早期の最適化については気にしないでください。まず、読み込み可能でメンテナンス可能で、動作する素敵なプログラムがあることを確認してください。パフォーマンスが要件を満たしていない場合は、ベンチマークとプロファイルを使用してボトルネックを見つけ、それらの上位の数に集中します。 –