Re: Optimize PL/Perl function argument passing [PATCH]
От | Andrew Dunstan |
---|---|
Тема | Re: Optimize PL/Perl function argument passing [PATCH] |
Дата | |
Msg-id | 4D470BFD.1040400@dunslane.net обсуждение исходный текст |
Ответ на | Re: Optimize PL/Perl function argument passing [PATCH] (Alex Hunsaker <badalex@gmail.com>) |
Ответы |
Re: Optimize PL/Perl function argument passing [PATCH]
Re: Optimize PL/Perl function argument passing [PATCH] |
Список | pgsql-hackers |
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. > 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. cheers andrew
В списке pgsql-hackers по дате отправления: