【发布时间】:2011-04-17 20:16:47
【问题描述】:
我目前正在尝试做练习 1.22,它需要一个名为 runtime 的函数,它返回系统运行的毫秒数。但是,我的环境(R5RS)似乎没有这个。它也没有时间、当前毫秒、当前不精确毫秒等。
我可以访问哪些功能来分析我的功能?哪些函数返回经过的毫秒数、微秒数等?我当然更喜欢可用的最高精度计时器。
【问题讨论】:
我目前正在尝试做练习 1.22,它需要一个名为 runtime 的函数,它返回系统运行的毫秒数。但是,我的环境(R5RS)似乎没有这个。它也没有时间、当前毫秒、当前不精确毫秒等。
我可以访问哪些功能来分析我的功能?哪些函数返回经过的毫秒数、微秒数等?我当然更喜欢可用的最高精度计时器。
【问题讨论】:
或许,最好的办法是将 DrRacket 中的语言切换为“使用源中声明的语言”,并以#lang racket 开始您的文件。然后current-seconds和好友之类的功能就可以使用了。
或者,您可以使用分析库,可通过(require profile) 获得并记录在here。
最后,您可能想看看 Neil Van Dyke 的 SICP library for DrRacket。
【讨论】:
我在做那个练习时使用了current-inexact-milliseconds。 剧透警告:您可以在我的博客SICP Exercise 1.22: Timed Prime Test 上查看我的解决方案。
顺便说一句,我在问了一个类似的问题Is there an equivalent to Lisp's “runtime” primitive in Scheme?后才解决了这个问题
【讨论】: