(define (make-list n e a)
(if (> n 0) (make-list (- n 1) (+ e 1) (cons e a))
a))
(display (length (map (lambda(x) (+ x 11))
(reverse (make-list 10000 1 '())))))
;; Success time: 0.31 memory: 8896 signal:0
;; 10000 (map () (reverse (make-list 10000)))
;; Success time: 0.27 memory: 8896 signal:0
;; 10000 (reverse (make-list 10000))
;; Success time: 0.26 memory: 8896 signal:0
;; 10000 (make-list 10000)
;; Success time: 0.14 memory: 8808 signal:0
;; 5000 (make-list 5000)
;; so make-list 10000 takes 0.26s; reverse 0.01s;
;; and map 0.04s !!
KGRlZmluZSAobWFrZS1saXN0IG4gZSBhKQogKGlmICg+IG4gMCkgKG1ha2UtbGlzdCAoLSBuIDEpICgrIGUgMSkgKGNvbnMgZSBhKSkKICBhKSkKICAKKGRpc3BsYXkgKGxlbmd0aCAobWFwIChsYW1iZGEoeCkgKCsgeCAxMSkpIAogIChyZXZlcnNlIChtYWtlLWxpc3QgMTAwMDAgMSAnKCkpKSkpKQogIAo7OyBTdWNjZXNzCXRpbWU6IDAuMzEgbWVtb3J5OiA4ODk2IHNpZ25hbDowCjs7IDEwMDAwICAgIChtYXAgKCkgKHJldmVyc2UgKG1ha2UtbGlzdCAxMDAwMCkpKQo7OyBTdWNjZXNzCXRpbWU6IDAuMjcgbWVtb3J5OiA4ODk2IHNpZ25hbDowCjs7IDEwMDAwICAgIChyZXZlcnNlIChtYWtlLWxpc3QgMTAwMDApKQo7OyBTdWNjZXNzCXRpbWU6IDAuMjYgbWVtb3J5OiA4ODk2IHNpZ25hbDowCjs7IDEwMDAwICAgKG1ha2UtbGlzdCAxMDAwMCkKOzsgU3VjY2Vzcwl0aW1lOiAwLjE0IG1lbW9yeTogODgwOCBzaWduYWw6MAo7OyA1MDAwICAgIChtYWtlLWxpc3QgNTAwMCkKCjs7IHNvIG1ha2UtbGlzdCAxMDAwMCB0YWtlcyAwLjI2czsgcmV2ZXJzZSAwLjAxczsgCjs7ICAgICAgYW5kIG1hcCAwLjA0cyAhIQ==