Lisp HUG Maillist Archive

Threads grow Generation 2

On Windows and Linux even short-lived threads always seem to end up in
generation 2 - see below.  Is that expected behaviour or a leak?

Thanks,
Edi.


  CL-USER 1 > (defparameter *a* 0)
  *A*

  CL-USER 2 > (defun foo (n)
                (dotimes (i n)
                  (mp:process-run-function "foo" nil (lambda ()
                                                       (incf *a*)))))
  FOO

  CL-USER 3 > (compile *)
  FOO
  NIL
  NIL

  CL-USER 4 > (room)
   Generation 0:  Total Size 1163K, Allocated 216K, Free 934K 
   Generation 1:  Total Size 1858K, Allocated 798K, Free 1052K 
   Generation 2:  Total Size 2196K, Allocated 1544K, Free 643K 
   Generation 3:  Total Size 23527K, Allocated 23084K, Free 426K 

  Total Size 28742K, Allocated 25643K, Free 3057K

  CL-USER 5 > (foo 300)
  NIL

  CL-USER 6 > (room)
   Generation 0:  Total Size 1163K, Allocated 226K, Free 925K 
   Generation 1:  Total Size 1858K, Allocated 907K, Free 942K 
   Generation 2:  Total Size 21204K, Allocated 19689K, Free 1503K 
   Generation 3:  Total Size 23527K, Allocated 23084K, Free 426K 

  Total Size 47750K, Allocated 43907K, Free 3797K


Updated at: 2020-12-10 08:50 UTC