私は異なる通貨交換からの価格データの更新を受け取るアプリケーションを構築しています。今私は最も効率的なコンテナを選択する必要があります。コンテナは、型Entry
の要素を使用します。注文表記のためのSTLコンテナはどれですか?
struct Entry
{
std::string exchange_name;
double price;
double amount;
}
エントリはその価格、昇順で注文する必要があります:コンテナに多くの挿入と削除があるでしょう
Ex.Name Price Amount
"A" 1.2 23
"B" 1.3 3
"A" 1.4 1.2
"C" 1.5 4
"A" 1.6 2
。私は毎秒200回まで可能だと思います。コンテナ内の値はconst
ではないため、特定のエントリの量を変更できます。
これまでのところ、私はstd::list
がallows constant time insert and erase operations anywhere within the sequenceであるので、良い選択であるかもしれないという結論に達しました。
std::list
はこのアプリケーションに最適ですか、別の容器を使用する必要がありますか?
ベストプラクティスは、潜在的に最も優れた候補(std :: listは良いかもしれません)を見つけ、実際のパフォーマンスを測定して、ニーズに合っているかどうかを調べることです。 – roalz
リストの順序をどのように確保しますか?あなたのケースでは、リストに挿入する場所を見つける必要があるので、挿入は最高でO(log(n))になります。 –
http://john-ahlgren.blogspot.com/2013/10/stl-container-performance.html – jamek