On Sat, Sep 24, 2011 at 9:45 AM, Martijn van Oosterhout
<kleptog@svana.org> wrote:
> I think memory accesses are also fantastically expensive, so it's worth
> some effort to optimise that.
This is definitely true.
> I found the Linux kernel document on this topic quite readable. I think
> the main lesson here is that processors track data dependancies (other
> than the Alpha apparently), but not control dependancies. So in the
> example, the value of i is dependant on num_items, but not via any
> calculation. IThat control dependancies are not tracked makes some
> sense, since branches depend on flags bit, and just about any
> calculation changes the flag bits, but most of the time these changes
> are not used.
Oh, that's interesting. So that implies that a read-barrier would be
needed here even on non-Alpha.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company