Hi, On 2019-02-28 12:36:50 -0500, Robert Haas wrote: > Well, Andres will probably complain about that. He thinks, IIUC, that > the buffer tags are too wide already and that it's significantly > hurting performance on very very common operations - like buffer > lookups.
Correct. Turns out especially comparing the keys after the hash match is pretty expensive. It also is a significant factor influencing the size of the hashtable, which influences how much of it can be in cache. My plan is still to move to a two tiered system, where we have one unordered datastructure to map from (db, tablespace, oid) to a secondary ordered datastructure that then maps from (block number) to an actual offset. With the first being cached somewhere in RelationData, therefore not being performance critical. But while I hope to work for that in 13, I don't think making other large projects depend on it would be smart. Greetings, Andres Freund