Thread: Slow C Function

Slow C Function

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?

By the way, we are using pg version 8.1.3.

-Adam


Re: Slow C Function

From
"Joshua D. Drake"
Date:
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)

That is fairly standard because the data will be cached.

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

Not that I know of but then again I am not a C programer.



>
> By the way, we are using pg version 8.1.3.
>
> -Adam
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faq
>


--

            === The PostgreSQL Company: Command Prompt, Inc. ===
      Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
      Providing the most comprehensive  PostgreSQL solutions since 1997
                     http://www.commandprompt.com/



Re: Slow C Function

From
Tom Lane
Date:
"Adam Palmblad" <adam@terapeak.com> writes:
> 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)

Perhaps that represents the time needed to load the dynamic library
into the backend?  If so, the "preload_libraries" parameter might
help you fix it.  Or consider pooling connections.  Or build a custom
executable with the function linked in permanently.

            regards, tom lane