From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Oleg Serov <serovov(at)gmail(dot)com>, 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-16 17:31:14 |
Message-ID: | 492058E2.8060201@dunslane.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane wrote:
> I wrote:
>
>> On my Fedora 9 machine, the overhead to start plperl seems to be about
>> 40 msec. This compares unfavorably to the time to start perl from the
>> command line, which is under 4 msec. I see that /usr/bin/perl pulls in
>> libperl.so, so it's paying the same shlib overhead as we do. How is it
>> that we take ten times longer to start up?
>>
>
> The above number was for plperl in a SQL_ASCII database.
> Some more data points:
>
> plperl plperlu
>
> SQL_ASCII 40 18
> UTF8 67 18
>
> which leads to the conclusion that those random little startup things
> plperl does are just unbelievably expensive.
>
>
>
I suspect much of this time is taken in loading perl modules, (strict,
Safe, utf8, SPI among others), not in anything very special that we do.:
andrew(at)constanza plperl]$ time perl -e ';'
real 0m0.004s
user 0m0.003s
sys 0m0.001s
[andrew(at)constanza plperl]$ time perl -e 'use strict; use Safe;use utf8;'
real 0m0.053s
user 0m0.016s
sys 0m0.007s
cheers
andrew
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2008-11-16 18:38:13 | Re: CVS can't be built on mingw |
Previous Message | Andrew Dunstan | 2008-11-16 17:12:34 | Re: [HACKERS] pgsql: Enable script to generate preproc.y in build process. |