時間の測定

Schemeで処理時間を測定するには、time関数を使います。

(time (fib 30))

と言った具合。簡単です。
ちなみに、このマシンでは、fib関数は30次ぐらいが限界です。

これで、memoizeの効果を見てみると…

(time (fib 30))
;(time (fib 30))
; real   0.674
; user   0.672
; sys    0.000
832040
(time (memo-fib 30))
;(time (memo-fib 30))
; real   0.000
; user   0.000
; sys    0.000
832040

効果てき面!! 恐るべしですね。