From: Peter Dimov (pdimov_at_[hidden])
Date: 2005-03-16 13:19:02


Dave Harris wrote:
> In-Reply-To: <01b201c52987$e0bbb950$6801a8c0_at_pdimov>
> pdimov_at_[hidden] (Peter Dimov) wrote (abridged):
>> If you _know_ how the default hash function will perform on your key
>> set, you can make the decision of whether to use it or not, and if
>> the hash function is standard, you do not have to re-evaluate your
>> decision each time you change platforms.
>
> I do appreciate the benefits of stability. What isn't clear is
> whether it trumps hash quality. This is a judgement call, in that it
> partly depends on which issue is more important to you.

Both issues are important to me. I want a tr1::unordered_map to deliver
faster lookups than an ordinary std::map, preferably by default (quality)
and I want it to continue delivering these faster lookups when I recompile
with a different compiler/version/platform (stability). When either
requirement is not fulfilled, an unordered_map is no longer a better
alternative.

Of course we can get this today by writing our own hashers, but the whole
point is to make this optional in the majority of cases.