【问题标题】:SICP, Scheme, DrRacket Question: Timer/profiler function?SICP、Scheme、DrRacket 问题:定时器/分析器功能?
【发布时间】:2011-04-17 20:16:47
【问题描述】:

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

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

【问题讨论】:

    标签: lisp scheme racket sicp


    【解决方案1】:

    或许,最好的办法是将 DrRacket 中的语言切换为“使用源中声明的语言”,并以#lang racket 开始您的文件。然后current-seconds和好友之类的功能就可以使用了。

    或者,您可以使用分析库,可通过(require profile) 获得并记录在here

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 正如我在帖子中所说,current-inexact-milliseconds 不起作用。我收到以下错误:对未定义标识符的引用:current-inexact-milliseconds。你用的是什么环境?
      • @KnowsLittle:我运行 DrScheme 时选择了语言“模块”来执行 SICP 练习。抱歉,我以为我在链接的文章中提到了这一点。我需要更新它。
      猜你喜欢
      • 2015-01-11
      • 1970-01-01
      • 1970-01-01
      • 2016-07-31
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      • 2018-07-14
      • 1970-01-01
      相关资源
      最近更新 更多