Re: Pl/Perl function: Speed of the First time executing pl/perl function in connection; - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Pl/Perl function: Speed of the First time executing pl/perl function in connection;
Date
Msg-id 491F52BA.5040005@dunslane.net
Whole thread Raw
In response to Pl/Perl function: Speed of the First time executing pl/perl function in connection;  ("Oleg Serov" <serovov@gmail.com>)
Responses Re: Pl/Perl function: Speed of the First time executing pl/perl function in connection;  ("Oleg Serov" <serovov@gmail.com>)
List 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


pgsql-hackers by date:

Previous
From: "Oleg Serov"
Date:
Subject: Pl/Perl function: Speed of the First time executing pl/perl function in connection;
Next
From: "Alex Hunsaker"
Date:
Subject: Re: Client certificate authentication