你如何在球拍中创建一个简单的变量?
问题描述:
我想看看球拍生成这个列表需要多长时间。你如何在球拍中创建一个简单的变量?
(电流不精确的毫秒) (长度(名单“跳”“跳过”“跳”)) (电流不精确的毫秒)
如何使这些时间可变因素在几秒钟内,我可以减少他们?使用let
感谢
答
#lang racket
(define time1 (current-inexact-milliseconds))
(length (list "hop" "skip" "jump"))
(define time2 (current-inexact-milliseconds))
(- time2 time1)
答
保存在一个变量的初始时间:
(let ((start (current-inexact-milliseconds)))
(length (list "hop" "skip" "jump"))
(- (current-inexact-milliseconds) start))
注意'(时间(长度(名单 “跳” “跳过” “跳”)))'是计算单个表达式的标准方式。 – soegaard 2014-09-13 15:21:25
通常,在计时之前立即执行'(for([i 3])(collect-garbage))'来获得一个“干净的石板”。否则,以前不相关的评估分配可能是GCd并夸大时间。 (是的'3'是一个神奇的数字,但这是传统的智慧AFAICT。) – 2014-09-13 17:31:15