On 09/25/2014 05:40 PM, Andres Freund wrote:
> There's two reasons for that: a) dynahash just isn't very good and it
> does a lot of things that will never be necessary for these hashes. b)
> the key into the hash table is*far* too wide. A significant portion of
> the time is spent comparing buffer/lock tags.
Hmm. Is it the comparing, or calculating the hash? We could precalculate
the hash for RelFileNode+ForkNumber, and store it RelationData. At a
lookup, you'd only need to mix in the block number.
- Heikki