Thread: Dynamically loaded C function performance

Dynamically loaded C function performance

From
"Adam Palmblad"
Date:
Hi,
We've got a C function that we use here and we find that for every
connection, the first run of the function is much slower than any
subsequent runs.  ( 50ms compared to 8ms)

Besides using connection pooling, are there any options to improve
performance?

-Adam

Re: Dynamically loaded C function performance

From
"Jim C. Nasby"
Date:
On Fri, May 05, 2006 at 03:47:53PM -0700, Adam Palmblad wrote:
> Hi,
> We've got a C function that we use here and we find that for every
> connection, the first run of the function is much slower than any
> subsequent runs.  ( 50ms compared to 8ms)
>
> Besides using connection pooling, are there any options to improve
> performance?

In my experience, connection startup takes a heck of a lot longer than
50ms, so why are you worrying about 50ms for the first run of a
function?

BTW, sorry, but I don't know a way to speed this up, either.
--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461

Re: Dynamically loaded C function performance

From
Joe Conway
Date:
Jim C. Nasby wrote:
> On Fri, May 05, 2006 at 03:47:53PM -0700, Adam Palmblad wrote:
>
>>Hi,
>>We've got a C function that we use here and we find that for every
>>connection, the first run of the function is much slower than any
>>subsequent runs.  ( 50ms compared to 8ms)
>>
>>Besides using connection pooling, are there any options to improve
>>performance?
>
> In my experience, connection startup takes a heck of a lot longer than
> 50ms, so why are you worrying about 50ms for the first run of a
> function?
>
> BTW, sorry, but I don't know a way to speed this up, either.

I think Tom nailed the solution already in a nearby reply -- see
preload_libraries on this page:

http://www.postgresql.org/docs/8.1/interactive/runtime-config-resource.html

Joe