std::vector
私は比較的小さいサイズ(5から20要素)のソートを持っています。データが連続しているので使用std::vector
したので、キャッシュのおかげでスピードが出ました。特定の点で、これから要素を削除する必要がありますvector
。
私は今疑問を持っています:以下の2つのオプションの間でこの値を削除する最も速い方法はどれですか?
- その要素を0に設定し、
sort
並べ替えを呼び出します。これには複雑さがありますが、要素は同じキャッシュライン上にあります。 erase
1つの場所の後にすべての要素をコピーする(または知っているmemcpy ??)呼び出し(消去の背後にあるシーンを調査する必要があります)。
どちらが速いか知っていますか?
ベクトルの最大容量に達することなく、新しい要素を挿入することについても同じアプローチが考えられると思います。
よろしく
AFG