1

昨日質問を投稿しましたが、multi_map を使用してこれを解決しました :

これは魅力のように機能しますが、datasrt が十分に大きい場合に問題が発生します。

私のデータ セットは約 10M の大きさで、挿入には順序付きインデックスで +350 秒、ハッシュ インデックス (順序なし) で 80 秒かかります。
これは、25 秒しかかからなかった map(pair, double) データ構造と比較してかなり長い時間です。

誰かが計算速度を改善する考えを持っていますか? メモリ消費は問題ありませんが、速度は私にとって本当に重要です。

4

2 に答える 2

0

aにインデックスを追加するとmulti_index_container、挿入時間にコストがかかります。大まかに言えば、4つのインデックスがある場合、4つの異なる1つのインデックスマップに挿入するのと同じくらい遅くなります(実際、図が示すように、80 <4 * 25なので、より高速です。 。)特定のケースでは、最後のインデックスを取り除くことができます。最初のインデックスとして複合キーを使用するだけです。これは、lang1のみのサポートと(lang1、lang2)クエリをサポートするためです。

于 2012-03-04T09:56:46.830 に答える
0

SQLiteのような実際のデータベースの使用を検討しましたか? 要素の複数のインデックスと 1000 万以上のインデックスが必要になった場合、それは通常、探している種類のものです。

SQL ベースのデータベースが使用できない場合は、非 SQL ベースのデータベースを使用できます。重要なのは特定のデータベースではありません。なんらかの形式のデータベースを使用しているというだけです。

于 2012-03-04T03:43:28.933 に答える