Re: Performance of pl/pgsql functions? - Mailing list pgsql-general

From Merlin Moncure
Subject Re: Performance of pl/pgsql functions?
Date
Msg-id CAHyXU0xvt9xMp+wwe-93rW7GKQPCx1v5uHMNMfeAjJO9+32wxg@mail.gmail.com
Whole thread Raw
In response to Re: Performance of pl/pgsql functions?  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-general
On Fri, Sep 14, 2012 at 1:47 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> 2012/9/14 John R Pierce <pierce@hogranch.com>:
>> On 09/13/12 10:17 PM, Wells Oliver wrote:
>>>
>>> Do these tend to perform well? I have some simple formulas in functions
>>> like so:
>>
>>
>> if you code your function in SQL instead of plpgsql, and mark it immutable,
>> it can be inlined by the planner.
>
> you don't need to mark SQL functions - it is not black box for
> optimizer and usually better is don't mark SQL functions.

on my workstation:
OP's plpgsql: 63us / call
1-line plpgsql: 43us / call
1-line sql: 38us / call   (marking didn't appear to matter in this case)
manually inlined sql: 38us/call

query was tested via:
explain analyze select stat_foo(v,v,v) from generate_series(1,100000) v;

merlin


pgsql-general by date:

Previous
From: Yvon Thoraval
Date:
Subject: SQLSTATE[08006] [7] server closed the connection unexpectedly
Next
From: "Albe Laurenz"
Date:
Subject: Re: SQLSTATE[08006] [7] server closed the connection unexpectedly