1
私は15の符号なしlong型を持つデータ構造を持って、私は次のようにhash_combineを使用してハッシュ関数を定義していますboost :: unordered_mapの使用時にキー衝突を数えるには?
friend std::size_t hash_value(const TUPLE15& given)
{
std::size_t seed = 0;
boost::hash_combine(seed, val1);
boost::hash_combine(seed, val2);
...
return seed;
}
私はブーストに多数の値を挿入:: unordered_mapが、性能は十分ではありません。おそらく、私は別のハッシュ関数を使ってうまくいくかもしれません。これを確認するには、私が何回衝突しているかを確認する必要があります。これはどうすればいいですか?
衝突の実際の数とは対照的に、あなたの2番目の例では、衝突を含むバケットの数をカウントし... '衝突+ = tuples.bucket_size(バケット)に変更し-1 ; '? – gospes
@gospes:そうです、今修正しました。ありがとうございました。 –