時間の測定
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
効果てき面!! 恐るべしですね。