Re: [HACKERS] inlining
Vadim B. Mikheev <vadim@sable.krasnoyarsk.su>
From: "Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su>
To: Bruce Momjian <maillist@candle.pha.pa.us>
Cc: hackers@postgreSQL.org
Date: 1998-02-01T19:33:45Z
Lists: 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