你如何在球拍中创建一个简单的变量?

问题描述:

我想看看球拍生成这个列表需要多长时间。你如何在球拍中创建一个简单的变量?

(电流不精确的毫秒) (长度(名单“跳”“跳过”“跳”)) (电流不精确的毫秒)

如何使这些时间可变因素在几秒钟内,我可以减少他们?使用let

感谢

#lang racket 

(define time1 (current-inexact-milliseconds)) 
(length (list "hop" "skip" "jump")) 
(define time2 (current-inexact-milliseconds)) 
(- time2 time1) 
+1

注意'(时间(长度(名单 “跳” “跳过” “跳”)))'是计算单个表达式的标准方式。 – soegaard 2014-09-13 15:21:25

+0

通常,在计时之前立即执行'(for([i 3])(collect-garbage))'来获得一个“干净的石板”。否则,以前不相关的评估分配可能是GCd并夸大时间。 (是的'3'是一个神奇的数字,但这是传统的智慧AFAICT。) – 2014-09-13 17:31:15

保存在一个变量的初始时间:

(let ((start (current-inexact-milliseconds))) 
    (length (list "hop" "skip" "jump")) 
    (- (current-inexact-milliseconds) start))