我如何在DrScheme中进行介绍?

时间:2009-07-01 02:52:00

标签: functional-programming scheme racket

如何使用DrScheme配置我的功能?

(require profile) 
(define (factorial n)
  (cond
    ((= n 1) 1)
    (else (* n (factorial (- n 1))))))

(profile factorial)

上面的代码返回

Profiling results
-----------------
  Total cpu time observed: 0ms (out of 0ms)
  Number of samples taken: 0 (once every 0ms)

====================================
                        Caller
Idx  Total    Self    Name+srcLocal%
     ms(pct)  ms(pct)   Callee
====================================
> 

我试过: - (个人资料(因子100))
          - (profile factorial)(factorial 100)
但它给了我相同的结果。 我做错了什么?

2 个答案:

答案 0 :(得分:1)

我不熟悉PLT Scheme中的profile模块,但也许您必须实际调用该函数?

(profile (factorial 1000))

答案 1 :(得分:1)

你是否尝试过N((配置文件(因子N))直到有明显的停顿?

(factorial 100)是现代计算机能够在< 1ms内完成的事情。

只是略读documentation让我怀疑这只是一个因素太快而无法轻易描述的情况。