我有一些容器的數據,並考慮將它們放入一個結構(更容易給它的功能等)。該程序應儘可能快。訪問結構體中的容器是慢還是完全一樣?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
這取決於你如何使用它。不要在乎現在過早的優化,首先要確保你有一個可讀,可維護和可行的好程序。然後,如果性能不符合您衡量和測試的要求,並找出瓶頸,並專注於其中的前幾名。 –