Re: [RFA] Revised C++ ABI abstraction patches

Jim Blandy
2001-03-15T12:36:00Z

I was being thoroughly tongue-in-cheek.

But the joke is made a bit bitter by stuff like partial-stab.h, where
someone put 25k of code in a header file, which gets #included into
two different .c files, to save function call overhead. Good call.
When you set a breakpoint in partial-stab.h, you have no idea which .c
file it's going into. The best way to set a breakpoint in there is to
step to the place you want, and then do `break *$pc'.

(Who's the maintainer of that code, anyway? ... Oh.)

jtc@redback.com (J.T. Conklin) writes:
> >>>>> "Jim" == Jim Blandy <jimb@zwingli.cygnus.com> writes:
> Jim> And besides, function calls are so slow. Remember, GDB's performance
> Jim> matters a lot --- it's used to debug real-time operating systems!
> Jim> :(
>
> I don't know whether you're being facetious, but IMHO avoiding
> function call overhead is not a good argument for making a piece of
> code a macro instead of a function. I've seen many circumstances
> where macros (or inlined functions) decrease the overall performance
> of a system because the added code results in i-cache thrashing.
>
> I think we should be addressing performance problems that are the
> result of poor algorithms rather than spending any time bothering
> with microoptimizations.

Hear, hear.