2

我是一名学生,不熟悉计划语言。我正在尝试编写高效的函数。我已经知道如何计算函数的执行时间,但我想知道的是如何计算该函数的堆栈(或内存)利用率。因为据我所知,执行期间在堆栈上等待的指令数量越少,效率就越高。

那么有没有办法计算在堆栈上等待的指令数?

4

1 回答 1

1

不,标准方案中没有“计算堆栈上等待的指令数量的方法”。

如果您正在学习 Scheme,那么关注效率、函数的执行时间和堆栈/内存利用率是完全错误的。“过早的优化是编程中万恶(或至少是大部分)的根源。” D. Knuth - 在您质疑的层面上过于关注优化。

您应该在算法计算复杂性的层面上进行思考,如果您开始递归地表达算法,正如 Scheme 所鼓励的那样,那么开始学习尾递归(因为 Scheme 保证它们针对迭代进行了优化)。

于 2014-03-23T19:02:28.123 回答