Re: Possible micro-optimization in CacheInvalidateHeapTuple
| От | Tom Lane |
|---|---|
| Тема | Re: Possible micro-optimization in CacheInvalidateHeapTuple |
| Дата | |
| Msg-id | 14380.1413250091@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Possible micro-optimization in CacheInvalidateHeapTuple (Jim Nasby <Jim.Nasby@BlueTreble.com>) |
| Ответы |
Re: Possible micro-optimization in CacheInvalidateHeapTuple
|
| Список | pgsql-hackers |
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.
regards, tom lane
В списке pgsql-hackers по дате отправления: