当前位置:  开发笔记 > 编程语言 > 正文

PLT方案中的时间码

如何解决《PLT方案中的时间码》经验,为你挑选了1个好方法。

我想看一个函数运行多长时间.在PLT-Scheme中最简单的方法是什么?理想情况下,我希望能够做到这样的事情:

> (define (loopy times)
  (if (zero? times)
      0
      (loopy (sub1 times)))) 
> (loopy 5000000)
0                      ;(after about a second)
> (timed (loopy 5000000))
Took: 0.93 seconds
0
> 

这不要紧,如果我不得不使用一些其他类似语法(timed loopy 5000000)或者(timed '(loopy 5000000)),或者如果它返回一个缺点或东西所花费的时间.



1> soegaard..:

在大多数Scheme实现中,用于计时表达式执行的标准名称是"time".以下是DrRacket中的一个示例.

(定义(循环次数)(if(zero?times)0(loopy(sub1 times))))

(时间(loopy 5000000))cpu时间:1526实时:1657 gc时间:0 0

如果您使用时间对彼此的不同实现进行基准测试,请记住使用命令行中的racket而不是直接在DrRacket中进行基准测试(DrRacket会插入调试代码以提供更好的错误消息).

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有