私は科学計算で働いていますが、std :: vectorに関連する改善を確認したいと思います。std :: vectorの高性能代替手段
は、最初に、私は心からカスタムコンテナはSTLで提供するものを上回る大幅ことができることを疑ったが、STD :: unordered_map以上の4倍改善とstd以上30倍改善::マップ(ベンチマーク個人Hopscotch Mapをいじると後私は自分のコード内でルックアップを行うだけなので)、私は助けることはできませんが、std :: vectorの代替があるのだろうかと疑問に思う。
パフォーマンスチューニングは幅広いテーマです。それはあなたが最適化しようとしているものによって異なります。あなたは挿入のために最適化していますか?読む?削除しますか?あなたはどのくらいの規模で働いていますか? – Srikanth
あなたのホットスコッチマップは 'std :: unordered_map'とは異なる機能を提供するので、異なるパフォーマンスを得るのは驚くことではありません。 'std :: vector'のどの部分をより良いパフォーマンスと引き換えにあきらめようと考えていましたか? –
大規模な科学計算では、単純なベクトルを乗り越えることができる最大のスピードは、OS固有の関数を使用してNUMAドメインごとにベクトルを割り当てることです。または、クラスタ内の個々のシステムごとに実行します。異なるクラスタシステムまたはNUMAノードからデータにアクセスすることは、パフォーマンス上の問題です。 –