SBCL 循环中缺少 Consing

Absence of Consing in SBCL loop

* (defparameter lst (make-list 1000))
LST
* (time (loop for x in lst
              for i from 0
              unless (= i 500)
              collect x))
Evaluation took:
  0.000 seconds of real time
  0.000000 seconds of total run time (0.000000 user, 0.000000 system)
  100.00% CPU
  47,292 processor cycles
  0 bytes consed

SBCL 如何使用 0 字节 consed 构建 return 列表?

您的测试用例对于 time 来说太小了。试试 (defparameter lst 100000).

Evaluation took:
  0.003 seconds of real time
  0.003150 seconds of total run time (0.002126 user, 0.001024 system)
  100.00% CPU
  8,518,420 processor cycles
  1,579,472 bytes consed