Is the attribute options cache actually worth anything?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Is the attribute options cache actually worth anything?
Дата
Msg-id 22987.1299003334@sss.pgh.pa.us
обсуждение исходный текст
Ответы Re: Is the attribute options cache actually worth anything?  (Robert Haas <robertmhaas@gmail.com>)
Re: Is the attribute options cache actually worth anything?  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-hackers
So while poking at a recent example from Marc Cousin (hundreds of tables
each with 1000 attributes) I observed that a simple ANALYZE would bloat
the backend process to the tune of several hundred megabytes.  I think
there is a leak in CacheMemoryContext, but haven't tracked it down yet.
But I also noticed that tens of megabytes were disappearing into "Attopt
cache", and after reading the code to see what the heck that was, I am
wondering what the justification for having it is at all.  In the
presumably normal case where the attribute hasn't got options, all it's
saving us is a syscache access, which is probably not noticeably more
expensive than the hash lookup.  In the case where there is an option,
it's saving us an attribute_reloptions() call, but it's not apparent
to me that that's so expensive as to justify putting a cache in front
of it, especially not if we're going to do a palloc cycle anyway.

Did anybody do any performance measurements to demonstrate that this
code has a reason to live?  Because if I don't see some, I'm going
to rip it out.
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Teodor Sigaev
Дата:
Сообщение: Re: knngist - 0.8
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: Sync Rep v17