Thread: PL/PGSQL and PL/Perl time issues

PL/PGSQL and PL/Perl time issues

From
Travis Bauer
Date:
I have a PL/PGSQL routine that does one select and a lot (~400 lines) of
floating point computations.  In rapid succession my JDBC application calls
this routine about 170 times.  It gets slower as time drags on, taking
around 5 seconds per call at the beginning and ending up taking about 15
seconds per call at the end.

I have a much shorter (about 10 lines), but less efficient PL/Perl routine
that accomplishes the same computation, but does a lot of string matching
and runs slower.  But the same problem occurs Each call takes longer the
more I call it.

Are there postgress issues I should be aware of regarding calling pl/pgsql
and pl/perl routines, or using JDBC to call these routines?  Is there a way
to prevent this increase in time?

Thanks,
--
Travis Bauer
http://www.cs.indiana.edu/~trbauer

Re: PL/PGSQL and PL/Perl time issues

From
Travis Bauer
Date:
As a followup:

Through the JDBC driver, I set autocommit to false.

At one point when I stopped the program in midstream, the server coughed up
the following message *many* times:

pq_flush: send() failed: Broken pipe

Thanks,
Travis

Travis Bauer wrote:

> I have a PL/PGSQL routine that does one select and a lot (~400 lines) of
> floating point computations.  In rapid succession my JDBC application
> calls
> this routine about 170 times.  It gets slower as time drags on, taking
> around 5 seconds per call at the beginning and ending up taking about 15
> seconds per call at the end.
>
> I have a much shorter (about 10 lines), but less efficient PL/Perl routine
> that accomplishes the same computation, but does a lot of string matching
> and runs slower.  But the same problem occurs Each call takes longer the
> more I call it.
>
> Are there postgress issues I should be aware of regarding calling pl/pgsql
> and pl/perl routines, or using JDBC to call these routines?  Is there a
> way to prevent this increase in time?
>
> Thanks,

--
Travis Bauer
http://www.cs.indiana.edu/~trbauer