Re: User Defined Functions/AM's inherently slow?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: User Defined Functions/AM's inherently slow?
Дата
Msg-id 6903.1074472135@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: User Defined Functions/AM's inherently slow?  (Eric Ridge <ebr@tcdi.com>)
Ответы Re: User Defined Functions/AM's inherently slow?  (Eric B.Ridge <ebr@tcdi.com>)
Список pgsql-hackers
>> Theory B would be that there's some huge overhead in calling 
>> non-built-in functions on your platform.

I've done some profiling and convinced myself that indeed there's pretty
steep overhead involved in fmgr_info() for a "C"-language function.
Much of it isn't platform-dependent either --- as best I can tell,
the lion's share of the time is being eaten in
expand_dynamic_library_name().  In scenarios where a function is called
many times per query, we cache the results of fmgr_info() ... but we do
not do so for operations like ambeginscan that are done just once per
query.

Every other function language uses shortcuts or caching to reduce the
cost of fmgr_info() lookup; external C language is the only one that
hasn't been optimized in this way.  I shall see what I can do about that.
ISTM we can have a hash table that maps function OID to function address
using the same sorts of techniques that plpgsql et al use.
        regards, tom lane


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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: feature request... case sensitivity without double quotes
Следующее
От: Eric B.Ridge
Дата:
Сообщение: Re: User Defined Functions/AM's inherently slow?