(use posix extras) ;(set-gc-report! 1) (define x) (define (iter) ; (set! x '()) (let loop ((i 0) (a '())) (when (< i 5000) ; (set! x (cons (list iter (number->string i) (/ i 0.5) (/ i 0.5) (/ i 0.5) (/ i 0.5) i i i i i) x)) (loop (add1 i) (cons (list iter "aa" i i i i i i i i i i i i i i i i i i i i i) a) )))) (define n 0) (define tt (current-milliseconds)) (let loop ((t (current-milliseconds)) (m 0)) (iter) (set! n (add1 n)) (if (> m 16) (print "max " m)) (if (< n 1000) (loop (current-milliseconds) (max (- (current-milliseconds) t)) ))) (print "time:" (- (current-milliseconds) tt))