我是学生,是计划语言的新手。 我正在尝试编写有效的函数。 我已经知道如何计算函数的执行时间,但我想知道的是如何计算这个函数的堆栈(或内存)利用率。 因为据我所知,执行期间在堆栈上等待的指令数量越少,效率就越高。
那么有没有办法计算堆栈上等待的指令数量?
答案 0 :(得分:1)
在标准方案中没有'计算等待堆栈的指令数的方法。
如果您正在学习Scheme,关注效率,功能的执行时间和堆栈/内存利用率完全是错误的焦点。 “过早优化是编程中所有邪恶(或至少大部分)的根源。” D. Knuth - 太过专注于你所质疑的水平上的优化。
你应该考虑算法计算复杂性的水平,如果你开始递归表达算法,如Scheme所鼓励,那么就开始学习尾递归(因为Scheme保证它们被优化为迭代)。