2016-01-31 18:16:07 |
Stas Boukarev |
description |
(defun test (n)
(compile nil
`(lambda (x)
(let ((y x))
,@(loop for i below n collect
`(setf y
(if (car x) 0 1)))
y))))(defun test (n)
(compile nil
`(lambda (x)
(let ((y x))
,@(loop for i below n collect
`(setf y
(if (car x) 0 1)))
conses a lot of SSETs and they can't be collected. At the end of each block it collects the TNs which are not modified, and here that set grows with each block. |
(defun test (n)
(compile nil
`(lambda (x)
(let ((y x))
,@(loop for i below n collect
`(setf y
(if (car x) 0 1)))
y))))
conses a lot of SSETs and they can't be collected. At the end of each block it collects the TNs which are not modified, and here that set grows with each block. |
|