根据手册,方法runtime和system-clock返回:
自Scheme启动以来已过去的进程时间(以秒为单位)。
但是,在REPL中调用它们总是返回值0.1:
1 ]=> (runtime)
;Value: .01
1 ]=> (system-clock)
;Value: .01知道这里发生了什么吗?
mit-scheme版本:
Release 9.1.1 || Microcode 15.3 || Runtime 15.7 || SF 4.41 || LIAR/x86-64 4.118发布于 2017-07-13 21:13:14
这些过程不给您启动方案以来的实时时间,但给您处理方案代码所需的时间,但不包括系统调用。因此,您已经计算了两个花了很短时间的表达式,并且不包括查看提示符或编写代码的时间,因为它在等待输入行时不会处理任何内容。
下面的代码几乎需要2秒才能完成,并且足够肯定地表明它一直在为1.49服务。
(begin
(define (fib n)
(if (< n 2)
n
(+ (fib (- n 1)) (fib (- n 2)))))
(fib 30)
(system-clock))
; ==> 1.49https://stackoverflow.com/questions/45090554
复制相似问题