Re: [HACKERS] inlining - Mailing list pgsql-hackers

From Vadim B. Mikheev
Subject Re: [HACKERS] inlining
Date
Msg-id 34D4CE19.973F559E@sable.krasnoyarsk.su
Whole thread Raw
In response to Re: [HACKERS] inlining  (Bruce Momjian <maillist@candle.pha.pa.us>)
List pgsql-hackers
Bruce Momjian wrote:
>
> >
> > Bruce Momjian wrote:
> > >
> > > Let me add, I am not inlining all the functions, but only the top part
> > > of them that deals with cachoffsets and nulls.  These are the easy ones,
> > > and the ones that get used most often.
> >
> > fastgetattr() is called from a HUNDREDS places - I'm not sure that
> > this is good idea.
> >
> > I suggest to inline _entire_ body of this func in the
> > execQual.c:ExecEvalVar() - Executor uses _only_ ExecEvalVar() to get
> > data from tuples.
>
> I don't think I can do that easily.  Inlining the top of the the
> function that uses attcacheoff or gets NULL's is easy, but after that,
> lots of loops and stuff, which are hard to inline because you really
> can't define your own variables inside a macro that returns a value.

Ok.

>
> Let's see that profiling shows after my changes, and how many times
> nocache_getattr(), the new name for the remaining part of the function,
> actually has to be called.

Ok.

>
> Also, there is nocache_getiattr(), and get_sysattr() is gone.  Just an
> array lookup for the offset now.

Nice.

Vadim

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] inlining
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] gram.y has errors when processed by yacc (on Unixware 2.1.2)