我目前正在尝试做练习 1.22,它需要一个名为 runtime 的函数,它返回系统运行的毫秒数。但是,我的环境(R5RS)似乎没有这个。它也没有时间、当前毫秒、当前不精确毫秒等。
我可以访问什么功能来分析我的功能?哪些函数返回经过的毫秒数、微秒数等?我当然更喜欢可用的最高精度计时器。
或许,最好的办法是将 DrRacket 中的语言切换为“使用源中声明的语言”,并以#lang racket
. current-seconds
然后就可以使用like和friends功能了。
或者,您可以使用分析库,可通过此处(require profile)
获取并记录。
最后,您可能想查看 Neil Van Dyke 的DrRacket 的 SICP 库。
当我做那个练习时, 我使用了电流不精确毫秒。剧透警报:您可以在我的博客上的SICP 练习 1.22:定时 Prime 测试中查看我的解决方案。
顺便说一句,我在问了一个类似的问题后才解决了这个问题,Scheme 中是否有与 Lisp 的“运行时”原语等价的东西?