From: Emre Sevinc
Subject: How to learn how much heap is used (in Allegro Common Lisp)?
Date: 
Message-ID: <87ejsusphq.fsf@ileriseviye.org>
As far as I know the free Express Edition of Allegro CL 8.0 has a heap size 
limitation of 50 MB.

How can I learn how much of heap I have consumed in my current 
Lisp session so that I can see how much I'm close to that size limit?

I have Googled and browsed the documentation index but couldn't come
up with an answer.

Regards,

-- 
Emre Sevinc

eMBA Software Developer         Actively engaged in:
http://emba.bilgi.edu.tr        http://ileriseviye.org
http://www.bilgi.edu.tr         http://fazlamesai.net
Cognitive Science Student       http://cazci.com
http://www.cogsci.boun.edu.tr

From: Kevin Layer
Subject: Re: How to learn how much heap is used (in Allegro Common Lisp)?
Date: 
Message-ID: <mku01q1zq6.fsf@gemini.franz.com>
Emre Sevinc <·····@bilgi.edu.tr> writes:

> As far as I know the free Express Edition of Allegro CL 8.0 has a heap size 
> limitation of 50 MB.
> 
> How can I learn how much of heap I have consumed in my current 
> Lisp session so that I can see how much I'm close to that size limit?

Evaluate (room t).  Near the end you'll see "total bytes = <number>".
It is <number> that you are interested in.  I believe the heap limit
is actually 55MB, but understand that this is for the entire heap.
You can't allocate all that to objects created by your program.

Kevin Layer
Franz Inc.
From: Emre Sevinc
Subject: Re: How to learn how much heap is used (in Allegro Common Lisp)?
Date: 
Message-ID: <8764e6siyo.fsf@ileriseviye.org>
>>>>> "KL" == Kevin Layer <·····@*n*o*s*p*a*m*franz.com> writes:

    KL> Emre Sevinc <·····@bilgi.edu.tr> writes:
    >> As far as I know the free Express Edition of Allegro CL 8.0 has
    >> a heap size limitation of 50 MB.
    >> 
    >> How can I learn how much of heap I have consumed in my current
    >> Lisp session so that I can see how much I'm close to that size
    >> limit?

    KL> Evaluate (room t).  Near the end you'll see "total bytes =
    KL> <number>".  It is <number> that you are interested in.  I
    KL> believe the heap limit is actually 55MB, but understand that
    KL> this is for the entire heap.  You can't allocate all that to
    KL> objects created by your program.

Thank you very much.

I have run (room t) and the last part reads as below, so I assume that
means I have approximately used 19 MB and approx. 31 MB left, right?

BTW, nice statistics ;-)


Lisp heap limit: 52428800
 Lisp heap:  #x71000000  pos: #x732aa000 resrve: #x74200000
 C heap:     #xa0000000  pos: #xa01a4000 resrve: #xa01a4000
 Pure space: #xb87c2000  end: #xb9040c58

code   type                                 items     bytes 
112: (simple-array t)                       107107   5790016 29.0%
  1: cons                                   522894   4183152 21.0%
117: (simple-array character)                 7108   2470408 12.4%
  8: function                                27674   1712848  8.6%
108: (short-simple-array code)                4666   1676880  8.4%
 15: structure                               41056   1280048  6.4%
  7: symbol                                  48602   1166448  5.8%
 12: standard-instance                       41068    657088  3.3%
  9: closure                                 16134    294752  1.5%
111: (short-simple-array foreign)             5499    164696  0.8%
127: (simple-array (unsigned-byte 32))           9    158856  0.8%
 10: hash-table                               2789    111560  0.6%
118: (simple-array bit)                        165    105352  0.5%
125: (simple-array (unsigned-byte 8))          357     81560  0.4%
 19: ratio                                    1804     28864  0.1%
 16: single-float                             2099     16792  0.1%
 18: bignum                                   1779     16136  0.1%
120: (simple-array fixnum)                       9      9288  0.0%
 17: double-float                              459      7344  0.0%
 80: (array t)                                 178      4272  0.0%
 96: (short-simple-array t)                    131      2096  0.0%
130: mv-vector                                   6       528  0.0%
 13: sysvector                                  14       224  0.0%
 85: (array character)                           9       216  0.0%
 20: complex                                    11       176  0.0%
 11: readtable                                   7       112  0.0%
123: (simple-array (signed-byte 32))             1        88  0.0%
 75: short-array                                 1        24  0.0%

 total bytes = 19939824

aclmalloc arena:
   max size  free bytes  used bytes     total
        16       1728        320         2048
        48       9312      76704        86016
       112       2576       1008         3584
       240       1440       2400         3840
       496       2480       5456         7936
      1008       3024     182448       185472
      2032       2032      14224        16256
      4080       4080      77520        81600
      5104      15312       5104        20416
      9200      36800      36800        73600
     20464      40928      20464        61392
     36848      36848      36848        73696
     69616      69616      69616       139232
    135152     135152          0       135152
    266224     266224          0       266224
    528368     528368          0       528368
 total bytes: 1155920     528912      1684832

-- 
Emre Sevinc

eMBA Software Developer         Actively engaged in:
http://emba.bilgi.edu.tr        http://ileriseviye.org
http://www.bilgi.edu.tr         http://fazlamesai.net
Cognitive Science Student       http://cazci.com
http://www.cogsci.boun.edu.tr
From: Kevin Layer
Subject: Re: How to learn how much heap is used (in Allegro Common Lisp)?
Date: 
Message-ID: <mk7iyhoa13.fsf@gemini.franz.com>
Emre Sevinc <·····@bilgi.edu.tr> writes:

> I have run (room t) and the last part reads as below, so I assume that
> means I have approximately used 19 MB and approx. 31 MB left, right?

Yes.