Bil*_*ard 23 lisp scheme sicp racket
根据SICP第1.2.6节,练习1.22:
大多数Lisp实现包括一个名为runtime的原语,它返回一个整数,指定系统运行的时间(例如,以微秒为单位测量).
我正在使用DrScheme,运行时似乎不可用,所以我正在寻找一个好的替代品.我在PLT-Scheme Reference中发现有一个current-milliseconds原语.有谁知道Scheme中的计时器是否具有更好的分辨率?
Eli*_*lay 22
current-milliseconds是一个从系统返回当前毫秒计数的函数,但它可能会减少. current-inexact-milliseconds类似,但返回保证增加的浮点数.
您可以在该页面上找到许多类似的函数,但如果只需要对某个函数计时,那么只需使用(expr)它将打印出评估表达式所花费的时间.time
此处另一个相关的是分析器,以防您需要对代码进行更详细的分析.
我今天也遇到了这个问题。我正在使用 DrRacket,因为它似乎已经取代了 DrScheme。虽然这是一个旧线程,但我会为任何偶然发现此线程的新人添加我的发现。
以 R5RS ( #lang r5rs) 为选择语言,在程序前添加以下两行使其工作
(#%require (only racket/base current-milliseconds))
(define (runtime) (current-milliseconds))
Run Code Online (Sandbox Code Playgroud)