[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: T heap (-h) switch



    Date: Tue, 3 Apr 84 05:00:24 EST
    From: Todd Allen <Allen>
    
    With regard to TAU 2.7 under AEGIS:
    
        What is the correct syntax/semantics of the -h switch?
        Can it (-h) be used with embedded systems (e.g., TC and U)?
        What are the current defaults for T, TC, and U?
    
Using the -h switch, you can tell T how big to allocate a single heap.
T allocates 2 such heaps.  The value should be the size of one heap, 
in bytes:

 $ t -h 2000000    # will allocates heaps about 2Mb each.

The switch will work for any embedded system.  If you specify a heap
size that is too big or too small, it will be adjusted to something
reasonable.  The size is always rounded to the nearest 32k under Aegis.
If no size is specified, T allocates heaps that use up most of the
free address space of the process - about 4 Mb.  Of course, what you
usually want is to tell T how much space to LEAVE, I'll probably add
a -l switch for the 2.8 release.  

Both the -h[eap] and -l[eave] switches are implemented in Unix T 2.8
The maximum size heap is limited by the 'datasize' limit value, rather
than by process address space.  These switches will be avialable soon
under VMS.

        What are the practical limitations on the heap size?

Because of hardware of software limitations, you can't get any bigger
than 3 or 4 Mb on either the Unix or Aegis implementations.  There
is also a process size limit of some sort on VMS which is the same
order of magnitude.  With respect to performance, we haven't done
any benchmarks.  Smaller heaps mean you GC more frequently but
(probably) page less.

        Is this information documented anywhere?
    
Yes, see above.