Re: Do we really need to switch to per-tuple memory context inATRewriteTable() when Table Rewrite is not happening

Поиск
Список
Период
Сортировка
От Ashutosh Sharma
Тема Re: Do we really need to switch to per-tuple memory context inATRewriteTable() when Table Rewrite is not happening
Дата
Msg-id CAE9k0Pm4po9TWoTF+dLwOtM2be4ak53cTFp1tVd0_tn=aZ6hxA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Do we really need to switch to per-tuple memory context inATRewriteTable() when Table Rewrite is not happening  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Список pgsql-hackers
On Wed, Jan 3, 2018 at 7:25 PM, Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
> Ashutosh Sharma wrote:
>
>> I am basically talking about the following lines of code in
>> ATRewriteTable() function.
>>
>> /*
>>  * Switch to per-tuple memory context and reset it for each tuple
>>  * produced, so we don't leak memory.
>>  */
>> oldCxt = MemoryContextSwitchTo(GetPerTupleMemoryContext(estate));
>
> Perhaps a memory context switch is so cheap that adding a branch to
> verify whether it's needed is more expensive than just doing it all the
> time.  You could prove me wrong by measuring it.
>

might be...I'm not sure about the cost of context switching. As you
said, it is quite possible that  adding a check to verify whether
switching is required or not could be more expensive than doing the
context switching itself.

--
With Regards,
Ashutosh Sharma
EnterpriseDB:http://www.enterprisedb.com

> --
> Álvaro Herrera                https://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Jeff Janes
Дата:
Сообщение: Re: TODO list (was Re: Contributing with code)
Следующее
От: Ashutosh Sharma
Дата:
Сообщение: Re: Do we really need to switch to per-tuple memory context inATRewriteTable() when Table Rewrite is not happening