Re: [HACKERS] inlining

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: vadim(at)sable(dot)krasnoyarsk(dot)su (Vadim B(dot) Mikheev)
Cc: hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] inlining
Date: 1998-02-01 18:41:25
Message-ID: 199802011841.NAA03111@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

>
> 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.

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.

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

--
Bruce Momjian
maillist(at)candle(dot)pha(dot)pa(dot)us

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1998-02-01 19:06:20 Re: [HACKERS] gram.y has errors when processed by yacc (on Unixware 2.1.2)
Previous Message Bruce Momjian 1998-02-01 18:36:32 Re: [HACKERS] Re: 6.3 CHANGES list