Re: Possible micro-optimization in CacheInvalidateHeapTuple

Поиск
Список
Период
Сортировка
От Jim Nasby
Тема Re: Possible micro-optimization in CacheInvalidateHeapTuple
Дата
Msg-id 5446F511.60603@BlueTreble.com
обсуждение исходный текст
Ответ на Re: Possible micro-optimization in CacheInvalidateHeapTuple  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Possible micro-optimization in CacheInvalidateHeapTuple  (Andres Freund <andres@2ndquadrant.com>)
Список pgsql-hackers
On 10/13/14, 8:28 PM, Tom Lane wrote:
> Jim Nasby <Jim.Nasby@BlueTreble.com> writes:
>> CacheInvalidateHeapTuple currently does the following tests first; would there be a performance improvement to
testingthe system relation case first? We're almost never in bootstrap mode, so that test is almost always a waste. Is
thereany reason not to switch the two? 
>>     /* Do nothing during bootstrap */
>>     if (IsBootstrapProcessingMode())
>>         return;
>
>>     /*
>>      * We only need to worry about invalidation for tuples that are in system
>>      * relations; user-relation tuples are never in catcaches and can't affect
>>      * the relcache either.
>>      */
>>     if (!IsSystemRelation(relation))
>>         return;
>
> You're assuming that IsSystemRelation() is safe to apply during bootstrap
> mode.  Even if it is, I don't see the point of messing with this.
> IsBootstrapProcessingMode() is a macro expanding to one comparison
> instruction.

Comment patch to that effect attached.
--
Jim Nasby, Data Architect, Blue Treble Consulting
Data in Trouble? Get it in Treble! http://BlueTreble.com

Вложения

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Proposal: Log inability to lock pages during vacuum
Следующее
От: Andres Freund
Дата:
Сообщение: Re: Deferring some AtStart* allocations?