> I'm not sure what the performance hit might be in removing it, and > using a test on the object's type.
>From a gcc developer's point of view... A C++ method call off a pointer is two loads and an indirect call. Three opcodes. The "type" way is a load, compare, perhaps a switch statement (which is an indirect jump), and a direct call. You take a "big" hit for the compare/switch because it always checks for out-of-bounds cases, so you end up with a lot of compares and jumps, which are bad for performance. Overall, not much difference, but C++ is a bit faster. HOWEVER, from *our* point of view, it's looks like this: Adding a new object in C++ means editing one file. Adding a new object in C means editing *all* the files that have such a compare/switch in them. I've done this in PCB and it's a nightmare. Each time I do that, I consider switching to C++ OOP. I suspect the maintenance payoff will be very short. _______________________________________________ geda-user mailing list [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

