代码之家  ›  专栏  ›  技术社区  ›  Bill the Lizard

Scheme中是否有一个与Lisp的“runtime”原语等价的元素?

  •  23
  • Bill the Lizard  · 技术社区  · 15 年前

    根据 SICP section 1.2.6

    我正在使用 DrScheme ,运行时似乎不可用,所以我正在寻找一个好的替代品。我在PLT计划参考资料中发现 current-milliseconds

    2 回复  |  直到 14 年前
        1
  •  23
  •   Will Ness Derri Leahy    4 年前

    current-milliseconds 是一个从系统返回当前毫秒计数的函数,但它可能会减少。 current-inexact-milliseconds 类似,但返回一个保证增加的浮点数。

    在该页面上还可以找到许多类似的函数,但是如果您只需要对某个函数计时,那么只需使用( time expr )它将打印出计算表达式所用的时间。

    另一件与此相关的事情是 profiler ,以防您需要对代码进行更详细的分析。

        2
  •  6
  •   Lazerbeak12345    4 年前

    我今天也遇到了这个问题。我正在使用DrRacket,因为它似乎已经取代了DrScheme。虽然这是一个旧的线程,我添加我的发现为任何新的谁偶然发现这个线程。

    #lang r5rs )作为所选语言,在程序之前添加以下两行以使其正常工作

    (#%require (only racket/base current-milliseconds))
    (define (runtime) (current-milliseconds))
    
        3
  •  2
  •   Mark Shevchenko    4 年前

    你可以使用这个软件包 sicp 那个 contains runtime .

    Here is 包装说明。

    here is 安装说明如下:

    • 打开软件包管理器:在DrRacket中选择菜单 文件 然后选择 包管理器

    • 在选项卡中 sicp

    • 最后单击 按钮

    运行时

    #lang sicp
    (runtime)
    

    预期输出如下所示:

    1606611898030115
    > 
    
        4
  •  1
  •   mwal    4 年前

    我使用mit方案来做SICP,发现毫秒是由 (real-time-clock) 按照 user manual .