Jon Berndt writes: > > I had been concerned > > that SGPropertyNode::getDoubleValue was showing up at the top of the > > profiling output for JSBSim, but I think that that was masking the > > object methods it was invoking in other JSBSim code. > > Could very well be. > > > properties, but not much for anything else. The biggest surprise was > > that inlining methods made things slower, not faster, in most cases > > This is certainly interesting. Do you have any statistics on how the > property code was changed by un-inlining things?
I'm afraid that my tests were fast and not that scientific, but here's the most dramatic case, for 100,000,000 accesses of a double property: Everything inlined: 3.9sec Nothing inlined: 3.2sec Only variable-reference getters inlined: 3.15sec In this test, we paid a 22% time penalty for inlining even 2-3 line methods (anything that didn't resolve simply to a variable reference). Perhaps the results would be different under other circumstances. By "variable-reference getters" I mean things like double get_foo () const { return _foo; } where the compiler will treat double foo = thing.get_foo(); as double foo = _foo; All the best, David -- David Megginson [EMAIL PROTECTED] _______________________________________________ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel