根据手册,方法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
答案 0 :(得分:2)
这些程序不会为您提供自启动方案以来已经过的实时时间,但处理方案代码所需的时间,不包括系统调用。因此,您已经评估了两个表达式,这些表达式花费的时间非常短,并且您不会包含查看提示或编写代码的时间,因为它在等待输入行时不会处理任何内容。
下面的代码需要将近2秒才能完成,而且确实显示它已经在1.49
上运行。
(begin
(define (fib n)
(if (< n 2)
n
(+ (fib (- n 1)) (fib (- n 2)))))
(fib 30)
(system-clock))
; ==> 1.49