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 по дате отправления: