Joe Conway <mail@joeconway.com> writes:
>> Probably so. I'll try to scrounge up some time to test the
>> performance impact of your patch.
> Not the most scientific of tests, but I think a reasonable one:
> ...
> 2.7% performance penalty
Thanks. While that's not awful, it's enough to be annoying.
I think we could mitigate this by allocating the argument context once in
nodeFunctionscan setup, and passing it into ExecMakeTableFunctionResult;
so we'd only do a memory context reset not a create/delete in each cycle.
That would make the patch a bit more invasive, but not much.
Back-patchability would depend on whether you think there's any third
party code calling ExecMakeTableFunctionResult; I kinda doubt that,
but I wonder if anyone has a different opinion.
regards, tom lane