Function() vs Speed

SPlatten:
The evidence is in numerous books. My experience working with assembler dates back to the early 80's with 6502 and Z80.

You only have a limited number of registers, when you run out of registers, this doesn't mean you can't call any functions, it simply switches to the stack. Go read some books or search online.

Like-wise, if you nest to many function calls you will run out of stack space and encounter a stack overflow.

If too many, those that don't fit are passed on the stack.

As suspected, your statements are generalized comments about compiler functionality and not specific to gcc, avr and arduino. I would suggest using the disassembler in AVRStudio to evaluate the specifics of a particular function call.

My experience also dates back to the 1980's and the 6502. A copy of Principles of Compiler Design is in my library.