当我学习计算机科学时,由于函数调用开销以及如何转换为更有效的东西,有人讨论了递归的成本。例如,要迭代,参见http://stackoverflow.com/questions/159590/way-to-go-from-recursion-to-iteration?rq=1,或者将自然递归算法变成迭代算法:例如运行算法自下而上而不是自上而下。
64 位架构的有趣之处之一是支持使用寄存器来回传递更多参数。引用Agner Fog
使用寄存器将参数传输到函数并接收返回值比将这些值存储在堆栈上更有效……在 64 位系统中,使用寄存器进行参数传输是标准化的。如果返回的对象适合为此目的分配的寄存器,则所有系统都使用寄存器作为返回值
这是否意味着我不需要太担心在 64 位架构上递归函数调用的成本?