Re: Possible micro-optimization in CacheInvalidateHeapTuple - Mailing list pgsql-hackers

From Jim Nasby
Subject Re: Possible micro-optimization in CacheInvalidateHeapTuple
Date
Msg-id 5446F511.60603@BlueTreble.com
Whole thread Raw
In response to Re: Possible micro-optimization in CacheInvalidateHeapTuple  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Possible micro-optimization in CacheInvalidateHeapTuple
List 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

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Proposal: Log inability to lock pages during vacuum
Next
From: Andres Freund
Date:
Subject: Re: Deferring some AtStart* allocations?