Re: Pl/Perl function: Speed of the First time executing pl/perl function in connection;

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Oleg Serov <serovov(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Pl/Perl function: Speed of the First time executing pl/perl function in connection;
Date: 2008-11-15 22:52:42
Message-ID: 491F52BA.5040005@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Oleg Serov wrote:
> When perl function executes first time, it is too slowly, but if
> execute perl function(not function which executed first time) again it
> runs in 1000 times faster. Why ? how can i optimize it ?
> Configure shared_preload_libraries = '$libdir/plperl' or
> local_preload_libraries = '$libdir/plugins/plperl' does not help;
>
>

The function is recompiled on the first call in each backend. (The same
is true of most PLs, BTW, it's not a perl-only problem.) There is no
immediate cure, unfortunately. Using pooled connections might help to
mitigate the effect.

One might imagine providing for certain functions to be loaded on
backend startup, or even (where we aren't using BACKEND_EXEC) on
postmaster start. But that would be a new feature, and we are past
feature freeze for the upcoming release, so it's not going to happen any
time soon.

cheers

andrrew

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alex Hunsaker 2008-11-16 00:00:42 Re: Client certificate authentication
Previous Message Tom Lane 2008-11-15 22:39:49 Re: pgsql: Enable script to generate preproc.y in build process.