Re: Optimize PL/Perl function argument passing [PATCH]
От | Tim Bunce |
---|---|
Тема | Re: Optimize PL/Perl function argument passing [PATCH] |
Дата | |
Msg-id | 20110202164552.GZ719@timac.local обсуждение исходный текст |
Ответ на | Re: Optimize PL/Perl function argument passing [PATCH] (Andrew Dunstan <andrew@dunslane.net>) |
Ответы |
Re: Optimize PL/Perl function argument passing [PATCH]
|
Список | pgsql-hackers |
On Mon, Jan 31, 2011 at 02:22:37PM -0500, Andrew Dunstan wrote: > > > On 01/15/2011 12:31 AM, Alex Hunsaker wrote: > >On Tue, Dec 7, 2010 at 07:24, Tim Bunce<Tim.Bunce@pobox.com> wrote: > >>Changes: > >> > >> Sets the local $_TD via C instead of passing an extra argument. > >> So functions no longer start with "our $_TD; local $_TD = shift;" > >> > >> Pre-extend stack for trigger arguments for slight performance gain. > >> > >>Passes installcheck. > > >Cool, surprisingly in the non trigger case I saw up to an 18% speedup. That's great. > >The trigger case remained about the same, I suppose im I/O bound. > > > >Find attached a v2 with some minor fixes, If it looks good to you Ill > >mark this as "Ready for Commit". > > > >Changes: > >- move up a declaration to make it c90 safe > >- avoid using tg_trigger before it was initialized > >- only extend the stack to the size we need (there was + 1 which > >unless I am missing something was needed because we used to push $_TD > >on the stack, but we dont any more) > > This looks pretty good. But why are we bothering to keep $prolog at > all any more, if all we're going to pass it is &PL_sv_no all the > time? Maybe we'll have a use for it in the future, but right now we > don't appear to unless I'm missing something. PostgreSQL::PLPerl::NYTProf would break if it was removed, so I'd rather it wasn't. I could work around that if there's an easy way for perl code to tell what version of PostgreSQL. If there isn't I think it would be worth adding. Tim.
В списке pgsql-hackers по дате отправления: