SICP,Scheme,DrRacket问题:定时器/分析器功能?

时间:2010-09-27 15:24:52

标签: lisp scheme racket sicp

我目前正在尝试练习1.22,它需要一个名为runtime的函数,它返回系统运行的毫秒数。但是,我的环境(R5RS)似乎没有这个。它没有时间,current-milliseconds,current-inexact-milliseconds等。

我可以访问哪些功能来分析我的功能?哪些函数返回已经过的毫秒数,微秒数等?我当然更喜欢可用的最高精度计时器。

2 个答案:

答案 0 :(得分:3)

可能最好的办法是将DrRacket中的语言切换为“使用源中声明的语言”,然后使用#lang racket启动文件。然后可以使用current-seconds和朋友等功能。

或者,您可以使用通过(require profile)提供的分析库并记录here

最后,你可能想看看Neil Van Dyke的SICP library for DrRacket

答案 1 :(得分:1)

我在练习时使用了current-inexact-milliseconds剧透警报:您可以在SICP Exercise 1.22: Timed Prime Test的博客上查看我的解决方案。

顺便说一句,我在问了一个类似的问题Is there an equivalent to Lisp's “runtime” primitive in Scheme?

之后才解决了这个问题