首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >方法“运行时”和“系统时钟”总是返回0.1。

方法“运行时”和“系统时钟”总是返回0.1。
EN

Stack Overflow用户
提问于 2017-07-13 20:43:03
回答 1查看 149关注 0票数 1

根据手册,方法runtimesystem-clock返回:

自Scheme启动以来已过去的进程时间(以秒为单位)。

但是,在REPL中调用它们总是返回值0.1:

代码语言:javascript
复制
1 ]=> (runtime)
;Value: .01
1 ]=> (system-clock)
;Value: .01

知道这里发生了什么吗?

mit-scheme版本:

代码语言:javascript
复制
Release 9.1.1 || Microcode 15.3 || Runtime 15.7 || SF 4.41 || LIAR/x86-64 4.118
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-13 21:13:14

这些过程不给您启动方案以来的实时时间,但给您处理方案代码所需的时间,但不包括系统调用。因此,您已经计算了两个花了很短时间的表达式,并且不包括查看提示符或编写代码的时间,因为它在等待输入行时不会处理任何内容。

下面的代码几乎需要2秒才能完成,并且足够肯定地表明它一直在为1.49服务。

代码语言:javascript
复制
(begin
  (define (fib n)
    (if (< n 2)
        n
        (+ (fib (- n 1)) (fib (- n 2)))))

  (fib 30)
  (system-clock))
; ==> 1.49
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45090554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档