gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] Re: promises, promises


From: Camm Maguire
Subject: [Gcl-devel] Re: promises, promises
Date: 21 Jun 2006 17:04:17 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!

Yes this is too big.  My earlier remarks were for saved gcl images.
The issue here is that the compiler is running with
si::*optimize-maximum-pages* set to t (the default) before image dump,
and this expands the room greatly to accelerate gc.  In current 2.7,
I'm doing the recompile in a separate image from the save.  What we
really need is a "shrink-wrap" function, which will "compactify" the
heap before save, but this will require two complete disjoint copies
-- GCL currently never copies anything other than relocatable pages.

Your contiguous does look too large too.  This should only be for code
and for memory malloced by external C libraries if any.  This memory
must be immovable, and is the slowest type in GCL.  It is also
possible that it get fragmented.  I will try to put in a little
diagnostic function spitting out the fre and used sublists of the
contiguous area together with a mapping onto either malloc_list or
someone's code data at some point.

One idea is to sum up the size of all your .o files to get an order of
magnitude estimate of the load here.

Take care,

Robert Boyer <address@hidden> writes:

> > 2) smaller saved images, 1/3 to 1/2 of before
> 
> But a saved ACL2 is still a bit larger than it probably
> needs to be, dontchathink?
> 
>    -rwxr-xr-x  1 boyer prof 209105329 Jun 21 14:08 saved_acl2.gcl
> 
> I wonder who in 'contiguous' is eating my lunch?  In my ACL2
> save script, I only ask for:
> 
>    (si::set-hole-size 10000) 
>    (si::allocate (quote cons) 10000 t)
>    (si::allocate (quote array) 340 t)
>    (si::allocate (quote structure) 300 t)  
>    (si::allocate (quote symbol) 600 t) 
>    (si::allocate (quote sfun) 1000 t) 
>    (si::allocate (quote contiguous-blocks) 2130 t) 
>    (si::allocate (quote relocatable-blocks) 2570 t) 
> 
> Bob
> 
> P. S. Here's a 3.0 room.
> 
> ACL2>(room t)
> 
> WS      UP/MP     FI%      GC TYPES
> 
>  2   10000/10000  52.9%       CONS FIXNUM SHORT-FLOAT CHARACTER IFUN SPICE
>  8     350/350  17.2%         ARRAY PATHNAME BIT-VECTOR VECTOR HASH-TABLE 
> STREAM CCLOSURE CLOSURE
>  4     300/300  27.6%         STRUCTURE BIGNUM RATIONAL LONG-FLOAT COMPLEX 
> READTABLE CFUN
> 10     600/600  55.2%         SYMBOL
> 14       1/2    52.1%         PACKAGE
>  6    1000/1000  24.2%        SFUN STRING RANDOM-STATE GFUN VFUN AFUN CFDATA
> 
>      20804/21429              contiguous (226 blocks)
>            10000              hole
>            2720   0.0%        relocatable
> 
>      12251 pages for cells
>      45775 total pages
>     453580 pages available
>      24933 pages in heap but not gc'd + pages needed for gc marking
>     524288 maximum pages
> 
> 
> Key:
> 
> WS: words per struct
> UP: allocated pages
> MP: maximum pages
> FI: fraction of cells in use on allocated pages
> GC: number of gc triggers allocating this type
> 
> word size:            32 bits
> page size:            4096 bytes
> heap start:           0x8000000
> heap max :            0x88000000
> shared library start: 0x0
> cstack start:         0xc0000000
> cstack mark offset:   199 bytes
> cstack direction:     downward
> cstack alignment:     16 bytes
> cstack max:           937951231 bytes
> immfix start:         0xc0000000
> immfix size:          536870912 fixnums
> NIL
> 
> ACL2>
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]