There are actually two things.
First, the average cost of those function call.
It is something very specific to the hardware and the compiler combination. It is something that lots of people have researched and measured over the years.
However, since compilers have converged on the near-optimal case for function calls, and since processor speeds have basically top-lined around 2.5-3.0 GHz range a decade ago, the timing remains basically unchanged.
The amortized cost of an optimized build function call is approximately 7 nanoseconds overhead per function call, vs. the cost of direct access. There is an additional approximately 7 nanoseconds overhead for virtual functions.
Again, for an optimized build, non-virtual functions generally average around 7ns each, virtual functions generally average around 14ns each.
Assuming you have all optimizations enabled in your code and it has been either directly compiled or JIT-optimized, you will probably see similar results.
Now for the bigger issue.
Your code has a nasty code smell. It is often called "inappropriate intimacy". The solution pattern is called the Law of Demeter, where basically you should only talk to the objects immediately available to you. The most you should do is a.b().
You have a.b().c().d().e().f(), which is less of a a 'code smell' and more like a reeking 2-day-old diaper. Don't do that.
Edited by frob, 29 April 2013 - 11:55 AM.