Boost logo

Boost :

Subject: Re: [boost] [hash] regular behaviour of hash function for double values
From: Kai Schroeder (kaischroeder3_at_[hidden])
Date: 2012-01-31 11:19:28

I have found that this behaviour of boost hash is described in the

So, this is by design. This rationale is understandable, however it
can lead to difficult to find performance problems as in our case.
Btw.: std::hash in MSVC10 does not show this behaviour. Well, I tend
to agree that this is a bug in TBB, still I would personally prefer a
better hash function (even if it is a bit slower) by default. Maybe a
fast_hash option could be provided as an alternative.

Best regards,

On 1/31/12, Olaf van der Spek <ml_at_[hidden]> wrote:
> On Tue, Jan 31, 2012 at 4:10 PM, Kai Schroeder
> <kaischroeder3_at_[hidden]> wrote:
>> Especially since some hash table implementations (e.g. intel's
>> threading building blocks) only use the last few bits to determine the
>> bucket, this can lead to very bad caching behaviour for the rather
>> common case of regularly sampled points (equidistant samplings of
>> power of 2 are e.g. common in computer graphics and numerical
>> algorithms).
>> Are you aware of this? Would you consider it a bug?
> Yes, sounds like a bug in TBB. I don't think it's a good idea to discard
> bits.
> Olaf
> _______________________________________________
> Unsubscribe & other changes:

Boost list run by bdawes at, gregod at, cpdaniel at, john at