DragonFly kernel List (threaded) for 2006-09
Re: Batch/At (if it wasn't broken, no worries I broke it :-) )
On 04 Sep 2006 12:36:28 GMT, Jamie <nospam@xxxxxxxxxxxxx> wrote:
I patched it, removed the macros and replaced them with functions
(to make debugging easier)
As an aside, if you want to preserve the inlinable nature of macros
but actually use functions, investigate explicit inlining. It can be a
pain because of how many compilers don't support it, but it's in the
standard, so it's really their fault.
The bonus is that they can be reduced to normal functions just by
changing compile flags.
It probably isn't necessary in this case, but it can really help
performance if you find yourself calling a small function too often,
or one that can be greatly reduced by inlining variables and so on.
Benchmarks alone will tell you if it helps, but I've found many cases
in which it does.
Note that it still takes much more sophistication to inline recursive
functions, but you can simulate this with an artificial stack anyway,
and overall the performance should be favorable.
Centre for Synchrotron Science
Victoria 3800, Australia