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