(define run-time (lambda (f n) (define runtime (lambda () (/ (- (current-process-milliseconds) (current-gc-milliseconds)) 1000.))) (define loop (lambda (count start-time) (let ((value (f n))) (let ((cur-time (runtime))) (cond ((> cur-time (+ 1 start-time)) (newline) (display ";Time: ") (display (/ (- cur-time start-time) count)) (newline) value) (else (loop (+ count 1) start-time))))))) (loop 1 (runtime)))) (define time run-time)