根据 SICP 第 1.2.6 节, ,练习 1.22:

大多数 Lisp 实现都包含一个称为运行时的原语,它返回一个整数,指定系统已运行的时间量(例如,以微秒为单位测量)。

我在用着 博士计划, ,其中运行时似乎不可用,所以我正在寻找一个好的替代品。我在 PLT-Scheme Reference 中发现有一个 当前毫秒 原始。有谁知道Scheme中是否有分辨率更好的计时器?

有帮助吗?

解决方案

current-milliseconds 是一个从系统返回当前毫秒计数的函数,但它可能会减少。 current-inexact-milliseconds 类似,但返回一个保证增加的浮点数。

您还可以在该页面上找到一堆类似的函数,但如果您需要的只是对某个函数进行计时,那么只需使用 (time 表达式)并且它将打印出计算表达式所花费的时间。

与此相关的另一件事是 分析器, ,以防您需要对代码进行更详细的分析。

其他提示

我也碰到这个问题,今天就来了。我使用DrRacket,因为它似乎已经取代DrScheme。虽然这是一个古老的线程,我加入了我的发现对于任何新的跨越谁这个线程绊倒。

使用如R5RS所选语言,加以下程序之前两行,使其工作

(#%require (only racket/base current-milliseconds))
(define (runtime) (current-milliseconds))
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top