gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] Re: malignant sgc allocation in 2.6.3pre


From: Camm Maguire
Subject: [Gcl-devel] Re: malignant sgc allocation in 2.6.3pre
Date: 17 Jul 2004 00:03:25 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

[ Am cc'ing this to the list, as it is of general interest regarding
GCL's gc performance.  Currently, there is a weakness in our present
algorithm when sgc is on, si::*optimize-maximum-pages* is set to t,
and allocations overrun the hole, causing an sgc off/sgc on switch as
the relocatable area is moved and a new hole created. Interested
readers can examine such a situation with si::*notify-gbc* and
si::*notify-optimize-maximum-pages* set to t ].


Greetings!  OK, these messages finally came through -- sorry for the
delay. 

Well, there is the short and the long reply, so lets try the short
first.  I have a first stab at fix for the
sgc/optimize-maximum-pages/overrun the hole confluence.  Am building a
2.6.4pre at your site now.  I'm not sure this is the final solution,
but I think it is basically right.  

If you do any test runs, I'd suggest si::*notify-gbc* and
si::*notify-optimize-maximum-pages* should be set to t.  Also you
might want to concentrate on a short example first, like just the
fm9001-replay.

But in general, what is really needed is a discussion on what gcl
should be doing ideally.  Once this is defined, implementation is
comparatively simple.

In brief, SGC is a gc optimization based on the presumption that we
have a large, static body of data in the heap that can be marked
read-only.  A 'working subset' of read-write memory is then selected
for future allocations and gc's, the idea being that this region is
much smaller and memory operations will therefore be faster.  The
benefits here accrue regardless of disk paging, though this makes the
performance margin much more noticeable if the working subset can be
made to fit into small ram.

optimize-maximum-pages takes the opposite approach, attempting to
reduce the number of gc calls by increasing the maximum allocations of
certain page types.  This strategy implicitly presupposes that new
memory allocations are no more expensive than the old ones -- i.e. we
don't start swapping.

SGC is better when a large product is 'finalized' for use by the user
who will make minimal allocations by comparison to the system as a
whole.  optimize-maximum-pages is better when the heap is expanding.
With the proto fix I've just built, I can eliminate the pathology in
the combination of the two strategies which arises under certain
circumstances, but even then, sgc will never add significant value
over optimize-maximum-pages alone when the bulk of the heap is being
added during the run in question.  The 'working subset' is then the
majority of the heap, so one is basically doing a full gc anyway with
the added overhead of periodic sgc on/off switches when the hole is
overrun.  Conversely, SGC will be the dominant performance factor when
one *can* define a small working subset of memory, with
optimize-maximum-pages improving this still slightly further.

With this patch, I get on the aforementioned single test that adding
SGC to optimize-maximum-pages alone is basically a wash with about the
same total allocation, as this is clearly not an SGC forte situation.
Still, its a lot better than the pathology!

This brings several issues to mind:

1)  Should the room report show the working subset only when sgc is in
    effect?
2)  Should logic be put in to modify optimize-maximum-pages when
    swapping is detected and/or the maximum page allocation is
    approaching?  
3)  Can the memory balancing of optimize-maximum-pages be effected at
    least in part by reducing rather expanding certain allocations? 
4)  The patch now in question makes the assumption that the
    statistics gathered earlier in the run are still applicable when
    doing an sgc off/sgc on, i.e. when moving the hole.  But there are
    times when one is 'finalizing' the heap, and one wants to forgo the
    old statistics and start afresh with a small working subset.
    Currently this is achieved by preceding the call to (si::sgc-on
    t) with (si::reset-gbc-count).  Is this the best way?

Other items I'm sure, including how important further improvement in
this area is in general.

Here are the two nqthm runs with the new patch:
=============================================================================
(sid)address@hidden:/fix/h/camm/nqthm-1992/examples$ ../nqthm-1992
GCL (GNU Common Lisp)  2.6.3 CLtL1   Jul 16 2004 21:21:57
Source License: LGPL(gcl,gmp), GPL(unexec,bfd)
Binary License:  GPL due to GPL'ed components: (READLINE BFD UNEXEC)
Modifications of this banner must retain notice of a compatible license
Dedicated to the memory of W. Schelter

Use (help) to get some basic information on how to use GCL.

Nqthm-1992.
Initialized with (BOOT-STRAP NQTHM) on July 16, 2004  22:39:19.


>(setq si::*optimize-maximum-pages* t si::*notify-optimize-maximum-pages* t 
>si::*notify-gbc* t)

T

>(dolist (l '(dir)) (load (make-pathname :name (string-downcase (string l)) 
>:type "lisp")))

Loading dir.lisp

Loading dir.lisp.
Evaluating this form: 

(PROGN
  (DEFPARAMETER *NQTHM-EXAMPLES-DIR* "./")
  (DEFPARAMETER *NQTHM-SOURCE-DIR* "../")
  (DEFPARAMETER *NQTHM-YU-DIR* "./yu/")
  (DEFPARAMETER *NQTHM-YOUNG-DIR* "./young/")) 
Finished loading dir.lisp.
Finished loading dir.lisp
NIL

>(load "/tmp/g.l")

Loading /tmp/g.l

Loading driver.lisp.
We will assume that the Nqthm-1992 examples directory at this site is: 

   ./

We will also assume that the single character / is used to separate
subdirectory components under this operating system.

Starting the Nqthm-1992 examples July 16, 2004  22:44:39.
Finished loading /tmp/g.l
T

>(time (progn (room)(DRIVER-PROVE-FILE-OUT "fm9001-piton" 
>"fm9001-replay")(room)))

   342/650    47.0%         CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    25/28      2.7%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
    62/73     95.2%         SYMBOL STREAM
     1/2      12.8%         PACKAGE
    13/38      5.2%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
    23/32     74.2%         STRING
     6/27     61.1%         CFUN BIGNUM
    14/115    63.6%         SFUN GFUN CFDATA SPICE NIL

  1981/2494                 contiguous (138 blocks)
       12925                hole
       5242    0.0%         relocatable

       486 pages for cells
     20634 total pages
    100032 pages available
     10406 pages in heap but not gc'd + pages needed for gc marking
    131072 maximum pages

Trying fm9001-replay.events.
[SGC for 163 CONTIGUOUS-BLOCKS pages..(6174 writable)..(T=0).GC finished]


   342/650    46.9%         CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    25/28      2.5%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
    62/73     95.2%         SYMBOL STREAM
     1/2      12.8%         PACKAGE
    13/38      5.1%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
    23/32     74.3%         STRING
     6/27     55.8%         CFUN BIGNUM
    14/115    63.6%         SFUN GFUN CFDATA SPICE NIL

  1981/2494               1 contiguous (11 blocks)
       12925                hole
       5242    0.0%         relocatable

       486 pages for cells
     20634 total pages
    100032 pages available
     10406 pages in heap but not gc'd + pages needed for gc marking
    131072 maximum pages

[SGC for 24 CFUN pages..(14208 writable)..(T=1).GC finished]
[SGC for 24 CFUN pages..(14209 writable)..(T=1).GC finished]
[type 20 max 27(0) opt 326   y 8701(0) gbcrat 0.454545 sav 0.401865]
[SGC for 506 CONS pages..(14293 writable)..(T=1).GC finished]
[SGC for 506 CONS pages..(14295 writable)..(T=1).GC finished]
[type 0 max 650(0) opt 1514   y 9000(0) gbcrat 0.422743 sav 0.700736]
[SGC for 1370 CONS pages..(15159 writable)..(T=2).GC finished]
[type 0 max 1514(0) opt 2148   y 9864(0) gbcrat 0.364999 sav 0.871215]
[SGC for 2004 CONS pages..(15793 writable)..(T=2).GC finished]
[type 0 max 2148(0) opt 3130   y 10498(0) gbcrat 0.546513 sav 0.865449]
[SGC for 2986 CONS pages..(16775 writable)..(T=3).GC finished]
[type 0 max 3130(0) opt 4133   y 11480(0) gbcrat 0.653737 sav 0.905466]
[SGC for 3989 CONS pages..(17778 writable)..(T=4).GC finished]
[type 0 max 4133(0) opt 5238   y 12483(0) gbcrat 0.795200 sav 0.923777]
[SGC for 28 FIXNUM pages..(17894 writable)..(T=4).GC finished]
[SGC for 28 FIXNUM pages..(17894 writable)..(T=3).GC finished]
[type 1 max 28(0) opt 284   y 13588(0) gbcrat 0.212831 sav 0.684772]
[SGC for 5094 CONS pages..(18886 writable)..(T=5).GC finished]
[type 0 max 5238(0) opt 6246   y 13844(0) gbcrat 0.865441 sav 0.949915]
[SGC for 15 SYMBOL pages..(18898 writable)..(T=4).GC finished]
[SGC for 6102 CONS pages..(19906 writable)..(T=5).GC finished]
[type 0 max 6246(0) opt 6336   y 14852(0) gbcrat 0.746966 sav 0.997236]
[SGC for 15 SYMBOL pages..(19907 writable)..(T=3).GC finished]
[type 8 max 73(0) opt 411   y 14852(0) gbcrat 0.157290 sav 0.787670]
[SGC for 15 STRING pages..(19989 writable)..(T=4).GC finished]
[SGC for 6102 CONS pages..(19989 writable)..(T=5).GC finished]
[type 0 max 6246(0) opt 7107   y 15190(0) gbcrat 0.904377 sav 0.974946]
[SGC for 6102 CONS pages..(19989 writable)..(T=6).GC finished]
[type 0 max 6246(0) opt 7896   y 15190(0) gbcrat 1.116078 sav 0.950900]
[SGC for 6102 CONS pages..(20017 writable)..(T=6).GC finished]
[type 0 max 6246(0) opt 8581   y 15190(0) gbcrat 1.318149 sav 0.929445]
[SGC for 8437 CONS pages..(22560 writable)..(T=7).GC finished]
[type 0 max 8581(0) opt 9383   y 17525(0) gbcrat 1.147155 sav 0.984410]
[SGC for 284 FIXNUM pages..(22565 writable)..(T=7).GC finished]
[type 1 max 284(0) opt 317   y 17525(0) gbcrat 0.020551 sav 0.988898]
[SGC for 8437 CONS pages..(22565 writable)..(T=7).GC finished]
[type 0 max 8581(0) opt 9183   y 17525(0) gbcrat 1.098764 sav 0.990179]
[SGC for 8437 CONS pages..(22567 writable)..(T=7).GC finished]
[type 0 max 8581(0) opt 9834   y 17525(0) gbcrat 1.260266 sav 0.978473]
[SGC for 15 STRING pages..(22679 writable)..(T=6).GC finished]
[type 13 max 32(0) opt 217   y 17525(0) gbcrat 0.084296 sav 0.874471]
[SGC for 8437 CONS pages..(22722 writable)..(T=8).GC finished]
[type 0 max 8581(0) opt 11263   y 17710(0) gbcrat 1.619598 sav 0.946299]
[SGC for 284 FIXNUM pages..(23310 writable)..(T=8).GC finished]
[type 1 max 284(0) opt 833   y 20392(0) gbcrat 0.121529 sav 0.889580]
[SGC for 11119 CONS pages..(25455 writable)..(T=10).GC finished]
[type 0 max 11263(0) opt 13075   y 20941(0) gbcrat 1.568511 sav 0.973137]
[SGC for 11119 CONS pages..(25691 writable)..(T=11).GC finished]
[type 0 max 11263(0) opt 13843   y 20941(0) gbcrat 1.758194 sav 0.961020]
[SGC for 11119 CONS pages..(25691 writable)..(T=10).GC finished]
[type 0 max 11263(0) opt 14540   y 20941(0) gbcrat 1.939530 sav 0.949816]
[SGC for 323 CFUN pages..(25806 writable)..(T=9).GC finished]
[type 20 max 326(0) opt 340   y 24218(0) gbcrat 0.014887 sav 0.996148]
[SGC for 323 CFUN pages..(25823 writable)..(T=8).GC finished]
[type 20 max 326(0) opt 899   y 24218(0) gbcrat 0.103900 sav 0.907509]
[SGC off][GC for 5242 RELOCATABLE-BLOCKS pages..(T=11).GC finished]
[SGC on][SGC off][GC for 5242 RELOCATABLE-BLOCKS pages..(T=15).GC finished]
[SGC on][SGC off][GC for 5242 RELOCATABLE-BLOCKS pages..(T=11).GC finished]
[SGC on][SGC off][GC for 5242 RELOCATABLE-BLOCKS pages..(T=12).GC finished]
[SGC on][SGC off][GC for 5242 RELOCATABLE-BLOCKS pages..(T=14).GC finished]
[SGC on][SGC off][GC for 5242 RELOCATABLE-BLOCKS pages..(T=14).GC finished]
[SGC on][SGC for 12374 CONS pages..(14689 writable)..(T=16).GC finished]
[SGC for 12374 CONS pages..(14796 writable)..(T=16).GC finished]
[SGC for 12374 CONS pages..(14918 writable)..(T=16).GC finished]
[SGC for 12374 CONS pages..(14989 writable)..(T=16).GC finished]
[SGC for 12374 CONS pages..(15034 writable)..(T=17).GC finished]
[SGC for 12374 CONS pages..(15088 writable)..(T=16).GC finished]
[SGC for 12374 CONS pages..(15148 writable)..(T=16).GC finished]
[SGC for 12374 CONS pages..(15214 writable)..(T=16).GC finished]
[SGC for 12374 CONS pages..(15276 writable)..(T=16).GC finished]
[SGC off][GC for 5242 RELOCATABLE-BLOCKS pages..(T=17).GC finished]
[SGC on][SGC for 11581 CONS pages..(13946 writable)..(T=16).GC finished]
[SGC for 11581 CONS pages..(14038 writable)..(T=16).GC finished]
[SGC for 11581 CONS pages..(14067 writable)..(T=16).GC finished]
[SGC for 37 ARRAY pages..(14212 writable)..(T=16).GC finished]
[SGC for 56 ARRAY pages..(14272 writable)..(T=14).GC finished]
[type 11 max 57(0) opt 174   y 24810(0) gbcrat 0.021538 sav 0.968897]
[SGC for 84 ARRAY pages..(14355 writable)..(T=14).GC finished]
[type 11 max 85(0) opt 275   y 24838(0) gbcrat 0.036056 sav 0.961423]
[SGC for 126 ARRAY pages..(14484 writable)..(T=15).GC finished]
[type 11 max 127(0) opt 378   y 24880(0) gbcrat 0.045680 sav 0.959713]
[SGC for 189 ARRAY pages..(14673 writable)..(T=15).GC finished]
[type 11 max 190(0) opt 494   y 24943(0) gbcrat 0.052043 sav 0.961884]
[SGC for 284 ARRAY pages..(15140 writable)..(T=14).GC finished]
[type 11 max 285(0) opt 629   y 25038(0) gbcrat 0.056145 sav 0.966966]
[SGC for 284 ARRAY pages..(15661 writable)..(T=17).GC finished]
[type 11 max 285(0) opt 788   y 25038(0) gbcrat 0.088057 sav 0.947381]
start address -T 0x8c63000 start address -T 0xcc5a000 [SGC off][GC for 5242 
RELOCATABLE-BLOCKS pages..(T=13).GC finished]
[SGC on]start address -T 0xcca7000 start address -T 0x8ce5000 start address -T 
0x8c59fd0 [SGC for 11726 CONS pages..(14454 writable)..(T=16).GC finished]
[SGC for 11726 CONS pages..(14454 writable)..(T=16).GC finished]
[SGC for 11726 CONS pages..(14454 writable)..(T=17).GC finished]
[type 0 max 14540(0) opt 14790   y 25541(0) gbcrat 1.367554 sav 0.998809]
[SGC for 11726 CONS pages..(14454 writable)..(T=16).GC finished]
[type 0 max 14540(0) opt 15080   y 25541(0) gbcrat 1.421856 sav 0.997257]
[SGC for 11726 CONS pages..(14457 writable)..(T=17).GC finished]
[type 0 max 14540(0) opt 15362   y 25541(0) gbcrat 1.475480 sav 0.995593]
[SGC for 11726 CONS pages..(14457 writable)..(T=17).GC finished]
[type 0 max 14540(0) opt 15635   y 25541(0) gbcrat 1.528438 sav 0.993838]
[SGC for 11726 CONS pages..(14457 writable)..(T=17).GC finished]
[type 0 max 14540(0) opt 15901   y 25541(0) gbcrat 1.580742 sav 0.992009]
[SGC for 11726 CONS pages..(14457 writable)..(T=16).GC finished]
[type 0 max 14540(0) opt 16158   y 25541(0) gbcrat 1.632404 sav 0.990122]
[SGC for 11726 CONS pages..(14457 writable)..(T=17).GC finished]
[type 0 max 14540(0) opt 16409   y 25541(0) gbcrat 1.683435 sav 0.988188]
[SGC for 11726 CONS pages..(14461 writable)..(T=17).GC finished]
[type 0 max 14540(0) opt 16653   y 25541(0) gbcrat 1.733848 sav 0.986218]
[SGC for 11726 CONS pages..(14461 writable)..(T=17).GC finished]
[type 0 max 14540(0) opt 16890   y 25541(0) gbcrat 1.783654 sav 0.984221]
[SGC for 11726 CONS pages..(14461 writable)..(T=16).GC finished]
[type 0 max 14540(0) opt 17122   y 25541(0) gbcrat 1.832863 sav 0.982206]
[SGC for 11726 CONS pages..(14461 writable)..(T=16).GC finished]
[type 0 max 14540(0) opt 17347   y 25541(0) gbcrat 1.881486 sav 0.980179]
[SGC for 11726 CONS pages..(14464 writable)..(T=16).GC finished]
[type 0 max 14540(0) opt 17568   y 25541(0) gbcrat 1.929533 sav 0.978145]
[SGC for 11726 CONS pages..(14464 writable)..(T=16).GC finished]
[type 0 max 14540(0) opt 17782   y 25541(0) gbcrat 1.977016 sav 0.976109]
[SGC for 11726 CONS pages..(14464 writable)..(T=16).GC finished]
[type 0 max 14540(0) opt 17992   y 25541(0) gbcrat 2.023942 sav 0.974076]
[SGC for 11726 CONS pages..(14464 writable)..(T=17).GC finished]
[type 0 max 14540(0) opt 18197   y 25541(0) gbcrat 2.070323 sav 0.972049]
[SGC for 11726 CONS pages..(14464 writable)..(T=16).GC finished]
[type 0 max 14540(0) opt 18398   y 25541(0) gbcrat 2.116168 sav 0.970030]
[SGC for 11726 CONS pages..(14466 writable)..(T=16).GC finished]
[type 0 max 14540(0) opt 18594   y 25541(0) gbcrat 2.161485 sav 0.968023]
[SGC for 11726 CONS pages..(14466 writable)..(T=17).GC finished]
[type 0 max 14540(0) opt 18785   y 25541(0) gbcrat 2.206285 sav 0.966029]
[SGC for 11726 CONS pages..(14466 writable)..(T=16).GC finished]
[type 0 max 14540(0) opt 18973   y 25541(0) gbcrat 2.250575 sav 0.964050]
[SGC for 11726 CONS pages..(14466 writable)..(T=16).GC finished]
[type 0 max 14540(0) opt 19157   y 25541(0) gbcrat 2.294365 sav 0.962089]
[SGC for 11726 CONS pages..(14466 writable)..(T=16).GC finished]
[type 0 max 14540(0) opt 19337   y 25541(0) gbcrat 2.337663 sav 0.960145]
start address -T 0x8446000 [SGC for 11726 CONS pages..(14738 
writable)..(T=17).GC finished]
[type 0 max 14540(0) opt 19513   y 25541(0) gbcrat 2.380477 sav 0.958221]
[SGC for 166 STRING pages..(14853 writable)..(T=15).GC finished]
[SGC for 166 STRING pages..(14889 writable)..(T=14).GC finished]
[type 13 max 217(0) opt 353   y 25541(0) gbcrat 0.022683 sav 0.990036]
[SGC for 166 STRING pages..(14929 writable)..(T=15).GC finished]
[type 13 max 217(0) opt 469   y 25541(0) gbcrat 0.040134 sav 0.979627]
[SGC for 166 STRING pages..(14959 writable)..(T=15).GC finished]
[type 13 max 217(0) opt 562   y 25541(0) gbcrat 0.057523 sav 0.969075]
[SGC for 11726 CONS pages..(15165 writable)..(T=16).GC finished]
[type 0 max 14540(0) opt 17806   y 25541(0) gbcrat 1.982240 sav 0.976949]
[SGC for 11726 CONS pages..(15190 writable)..(T=17).GC finished]
[type 0 max 14540(0) opt 17968   y 25541(0) gbcrat 2.018525 sav 0.975409]
start address -T 0x8bc8000 [SGC for 11726 CONS pages..(15402 
writable)..(T=18).GC finished]
[type 0 max 14540(0) opt 18127   y 25541(0) gbcrat 2.054482 sav 0.973869]
[SGC for 11726 CONS pages..(15470 writable)..(T=18).GC finished]
[type 0 max 14540(0) opt 18284   y 25541(0) gbcrat 2.090118 sav 0.972333]
[SGC for 11726 CONS pages..(15487 writable)..(T=17).GC finished]
[type 0 max 14540(0) opt 18438   y 25541(0) gbcrat 2.125434 sav 0.970800]
[SGC for 11726 CONS pages..(15504 writable)..(T=18).GC finished]
[type 0 max 14540(0) opt 18589   y 25541(0) gbcrat 2.160437 sav 0.969273]
[SGC for 11726 CONS pages..(15552 writable)..(T=18).GC finished]
[type 0 max 14540(0) opt 18738   y 25541(0) gbcrat 2.195131 sav 0.967752]
[SGC for 11726 CONS pages..(15595 writable)..(T=19).GC finished]
[type 0 max 14540(0) opt 18884   y 25541(0) gbcrat 2.229518 sav 0.966239]
[SGC for 11726 CONS pages..(15632 writable)..(T=17).GC finished]
[type 0 max 14540(0) opt 19028   y 25541(0) gbcrat 2.263604 sav 0.964734]
[SGC for 11726 CONS pages..(15666 writable)..(T=18).GC finished]
[type 0 max 14540(0) opt 19169   y 25541(0) gbcrat 2.297392 sav 0.963238]
[SGC for 11726 CONS pages..(15692 writable)..(T=18).GC finished]
[type 0 max 14540(0) opt 19308   y 25541(0) gbcrat 2.330886 sav 0.961751]
[SGC for 166 STRING pages..(16880 writable)..(T=18).GC finished]
[type 13 max 217(0) opt 587   y 25541(0) gbcrat 0.062810 sav 0.967549]
[SGC for 166 STRING pages..(17775 writable)..(T=16).GC finished]
[type 13 max 217(0) opt 651   y 25541(0) gbcrat 0.077323 sav 0.958635]
start address -T 0xce5b000 [SGC off][GC for 5242 RELOCATABLE-BLOCKS 
pages..(T=14).GC finished]
[SGC on]start address -T 0xce82000 start address -T 0xcf17000 start address -T 
0xcf3f000 start address -T 0x8c15e00 
Successfully finished fm9001-replay.events.
 14540/14540  21.3%      65 CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
   672/833     0.3%       4 FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
   260/411    67.0%       2 SYMBOL STREAM
     1/2      12.8%         PACKAGE
   487/788     0.2%       7 ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
   217/217    39.8%       8 STRING
   637/899     5.5%       4 CFUN BIGNUM
    23/115    94.9%         SFUN GFUN CFDATA SPICE NIL

  2464/2494               1 contiguous (476 blocks)
       347                  hole
       5242    0.3%       9 relocatable

     16837 pages for cells
     24890 total pages
     95623 pages available
     10559 pages in heap but not gc'd + pages needed for gc marking
    131072 maximum pages
real time       :    276.880 secs
run-gbc time    :    245.640 secs
child run time  :     17.630 secs
gbc time        :     12.580 secs

>(by)
(sid)address@hidden:/fix/h/camm/nqthm-1992/examples$ ../nqthm-1992
GCL (GNU Common Lisp)  2.6.3 CLtL1   Jul 16 2004 21:21:57
Source License: LGPL(gcl,gmp), GPL(unexec,bfd)
Binary License:  GPL due to GPL'ed components: (READLINE BFD UNEXEC)
Modifications of this banner must retain notice of a compatible license
Dedicated to the memory of W. Schelter

Use (help) to get some basic information on how to use GCL.

Nqthm-1992.
Initialized with (BOOT-STRAP NQTHM) on July 16, 2004  22:39:19.


>(setq si::*optimize-maximum-pages* t si::*notify-optimize-maximum-pages* t 
>si::*notify-gbc* t)

T

>(si::sgc-on nil)
[SGC off]
NIL

>(dolist (l '(dir)) (load (make-pathname :name (string-downcase (string l)) 
>:type "lisp")))

Loading dir.lisp

Loading dir.lisp.
Evaluating this form: 

(PROGN
  (DEFPARAMETER *NQTHM-EXAMPLES-DIR* "./")
  (DEFPARAMETER *NQTHM-SOURCE-DIR* "../")
  (DEFPARAMETER *NQTHM-YU-DIR* "./yu/")
  (DEFPARAMETER *NQTHM-YOUNG-DIR* "./young/")) 
Finished loading dir.lisp.
Finished loading dir.lisp
NIL

>(load "/tmp/g.l")

Loading /tmp/g.l

Loading driver.lisp.
We will assume that the Nqthm-1992 examples directory at this site is: 

   ./

We will also assume that the single character / is used to separate
subdirectory components under this operating system.

Starting the Nqthm-1992 examples July 16, 2004  22:51:10.
Finished loading /tmp/g.l
T

>(time (progn (room)(DRIVER-PROVE-FILE-OUT "fm9001-piton" 
>"fm9001-replay")(room)))

   342/650    47.0%         CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    25/28      2.7%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
    62/73     95.2%         SYMBOL STREAM
     1/2      12.8%         PACKAGE
    13/38      5.2%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
    23/32     74.2%         STRING
     6/27     61.1%         CFUN BIGNUM
    14/115    63.6%         SFUN GFUN CFDATA SPICE NIL

  1981/2494                 contiguous (148 blocks)
       12925                hole
       5242   71.2%         relocatable

       486 pages for cells
     20634 total pages
    100032 pages available
     10406 pages in heap but not gc'd + pages needed for gc marking
    131072 maximum pages

Skipping fm9001-replay.events because the file fm9001-replay.proved exists.
   342/650    47.9%         CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    25/28      3.4%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
    62/73     95.2%         SYMBOL STREAM
     1/2      12.8%         PACKAGE
    13/38      5.4%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
    23/32     74.6%         STRING
     6/27     61.1%         CFUN BIGNUM
    14/115    63.6%         SFUN GFUN CFDATA SPICE NIL

  1981/2494                 contiguous (148 blocks)
       12925                hole
       5242   71.2%         relocatable

       486 pages for cells
     20634 total pages
    100032 pages available
     10406 pages in heap but not gc'd + pages needed for gc marking
    131072 maximum pages
real time       :      0.000 secs
run-gbc time    :      0.000 secs
child run time  :      0.000 secs
gbc time        :      0.000 secs

>(by)
(sid)address@hidden:/fix/h/camm/nqthm-1992/examples$ ../nqthm-1992
GCL (GNU Common Lisp)  2.6.3 CLtL1   Jul 16 2004 21:21:57
Source License: LGPL(gcl,gmp), GPL(unexec,bfd)
Binary License:  GPL due to GPL'ed components: (READLINE BFD UNEXEC)
Modifications of this banner must retain notice of a compatible license
Dedicated to the memory of W. Schelter

Use (help) to get some basic information on how to use GCL.

Nqthm-1992.
Initialized with (BOOT-STRAP NQTHM) on July 16, 2004  22:39:19.


>(setq si::*optimize-maximum-pages* t si::*notify-optimize-maximum-pages* t 
>si::*notify-gbc* t)

T

>(si::sgc-on nil)
[SGC off]
NIL

>(dolist (l '(dir)) (load (make-pathname :name (string-downcase (string l)) 
>:type "lisp")))

Loading dir.lisp

Loading dir.lisp.
Evaluating this form: 

(PROGN
  (DEFPARAMETER *NQTHM-EXAMPLES-DIR* "./")
  (DEFPARAMETER *NQTHM-SOURCE-DIR* "../")
  (DEFPARAMETER *NQTHM-YU-DIR* "./yu/")
  (DEFPARAMETER *NQTHM-YOUNG-DIR* "./young/")) 
Finished loading dir.lisp.
Finished loading dir.lisp
NIL

>(load "/tmp/g.l")

Loading /tmp/g.l

Loading driver.lisp.
We will assume that the Nqthm-1992 examples directory at this site is: 

   ./

We will also assume that the single character / is used to separate
subdirectory components under this operating system.

Starting the Nqthm-1992 examples July 16, 2004  22:51:29.
Finished loading /tmp/g.l
T

>(time (progn (room)(DRIVER-PROVE-FILE-OUT "fm9001-piton" 
>"fm9001-replay")(room)))

   342/650    47.0%         CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    25/28      2.7%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
    62/73     95.2%         SYMBOL STREAM
     1/2      12.8%         PACKAGE
    13/38      5.2%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
    23/32     74.2%         STRING
     6/27     61.1%         CFUN BIGNUM
    14/115    63.6%         SFUN GFUN CFDATA SPICE NIL

  1981/2494                 contiguous (148 blocks)
       12925                hole
       5242   71.2%         relocatable

       486 pages for cells
     20634 total pages
    100032 pages available
     10406 pages in heap but not gc'd + pages needed for gc marking
    131072 maximum pages

Trying fm9001-replay.events.
[GC for 1981 CONTIGUOUS-BLOCKS pages..(T=2).GC finished]


   342/650    40.6%         CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    25/28      2.4%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
    62/73     95.2%         SYMBOL STREAM
     1/2      12.8%         PACKAGE
    13/38      5.1%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
    23/32     73.6%         STRING
     6/27     55.8%         CFUN BIGNUM
    14/115    62.6%         SFUN GFUN CFDATA SPICE NIL

  1981/2494               1 contiguous (126 blocks)
       12925                hole
       5242    0.0%         relocatable

       486 pages for cells
     20634 total pages
    100032 pages available
     10406 pages in heap but not gc'd + pages needed for gc marking
    131072 maximum pages

[GC for 27 CFUN pages..(T=1).GC finished]
[GC for 27 CFUN pages..(T=1).GC finished]
[type 20 max 27(0) opt 326   y 8701(0) gbcrat 0.454545 sav 0.401865]
[GC for 650 CONS pages..(T=1).GC finished]
[GC for 650 CONS pages..(T=1).GC finished]
[type 0 max 650(0) opt 1514   y 9000(0) gbcrat 0.422743 sav 0.700736]
[GC for 1514 CONS pages..(T=2).GC finished]
[type 0 max 1514(0) opt 2148   y 9864(0) gbcrat 0.364999 sav 0.871215]
[GC for 2148 CONS pages..(T=2).GC finished]
[type 0 max 2148(0) opt 3130   y 10498(0) gbcrat 0.546513 sav 0.865449]
[GC for 3130 CONS pages..(T=2).GC finished]
[type 0 max 3130(0) opt 4133   y 11480(0) gbcrat 0.653737 sav 0.905466]
[GC for 4133 CONS pages..(T=4).GC finished]
[type 0 max 4133(0) opt 5238   y 12483(0) gbcrat 0.795200 sav 0.923777]
[GC for 28 FIXNUM pages..(T=3).GC finished]
[GC for 28 FIXNUM pages..(T=2).GC finished]
[type 1 max 28(0) opt 284   y 13588(0) gbcrat 0.212831 sav 0.684772]
[GC for 5238 CONS pages..(T=4).GC finished]
[type 0 max 5238(0) opt 6246   y 13844(0) gbcrat 0.865441 sav 0.949915]
[GC for 73 SYMBOL pages..(T=4).GC finished]
[GC for 6246 CONS pages..(T=5).GC finished]
[type 0 max 6246(0) opt 6650   y 14888(0) gbcrat 0.819277 sav 0.986496]
[GC for 32 STRING pages..(T=3).GC finished]
[GC for 6246 CONS pages..(T=5).GC finished]
[type 0 max 6246(0) opt 6738   y 14888(0) gbcrat 0.841174 sav 0.986829]
[GC for 6246 CONS pages..(T=5).GC finished]
[type 0 max 6246(0) opt 7491   y 14888(0) gbcrat 1.039772 sav 0.965378]
[GC for 6246 CONS pages..(T=5).GC finished]
[type 0 max 6246(0) opt 8147   y 14888(0) gbcrat 1.229940 sav 0.945727]
[GC for 8147 CONS pages..(T=6).GC finished]
[type 0 max 8147(0) opt 8877   y 16789(0) gbcrat 1.119456 sav 0.985812]
[GC for 8147 CONS pages..(T=6).GC finished]
[type 0 max 8147(0) opt 9590   y 16789(0) gbcrat 1.306292 sav 0.970925]
[GC for 8147 CONS pages..(T=7).GC finished]
[type 0 max 8147(0) opt 10226   y 16789(0) gbcrat 1.485428 sav 0.956973]
[GC for 8147 CONS pages..(T=6).GC finished]
[type 0 max 8147(0) opt 10802   y 16789(0) gbcrat 1.657331 sav 0.943992]
[GC for 32 STRING pages..(T=7).GC finished]
[type 13 max 32(0) opt 247   y 19444(0) gbcrat 0.098255 sav 0.850716]
[GC for 10802 CONS pages..(T=9).GC finished]
[type 0 max 10802(0) opt 12752   y 19659(0) gbcrat 1.699880 sav 0.968719]
[GC for 284 FIXNUM pages..(T=8).GC finished]
[type 1 max 284(0) opt 311   y 19659(0) gbcrat 0.017653 sav 0.991938]
[GC for 284 FIXNUM pages..(T=7).GC finished]
[type 1 max 284(0) opt 764   y 19659(0) gbcrat 0.106311 sav 0.908824]
[GC for 10802 CONS pages..(T=8).GC finished]
[type 0 max 10802(0) opt 12914   y 20139(0) gbcrat 1.653703 sav 0.968523]
[GC for 10802 CONS pages..(T=8).GC finished]
[type 0 max 10802(0) opt 13562   y 20139(0) gbcrat 1.823875 sav 0.958020]
[GC for 326 CFUN pages..(T=7).GC finished]
[GC for 326 CFUN pages..(T=8).GC finished]
[type 20 max 326(0) opt 735   y 20139(0) gbcrat 0.083810 sav 0.937512]
[GC for 109 SYMBOL pages..(T=6).GC finished]
[type 8 max 109(0) opt 324   y 20548(0) gbcrat 0.047341 sav 0.933982]
[GC for 10802 CONS pages..(T=9).GC finished]
[type 0 max 10802(0) opt 13714   y 20763(0) gbcrat 1.748090 sav 0.957984]
[GC for 10802 CONS pages..(T=12).GC finished]
[type 0 max 10802(0) opt 14262   y 20763(0) gbcrat 1.890628 sav 0.949075]
[GC for 5242 RELOCATABLE-BLOCKS pages..(T=11).GC finished]
[GC for 5242 RELOCATABLE-BLOCKS pages..(T=12).GC finished]
[GC for 5242 RELOCATABLE-BLOCKS pages..(T=14).GC finished]
[GC for 5242 RELOCATABLE-BLOCKS pages..(T=14).GC finished]
[GC for 5242 RELOCATABLE-BLOCKS pages..(T=15).GC finished]
[GC for 5242 RELOCATABLE-BLOCKS pages..(T=15).GC finished]
[GC for 14262 CONS pages..(T=15).GC finished]
[GC for 14262 CONS pages..(T=16).GC finished]
[GC for 14262 CONS pages..(T=15).GC finished]
[GC for 14262 CONS pages..(T=15).GC finished]
[GC for 14262 CONS pages..(T=16).GC finished]
[GC for 14262 CONS pages..(T=15).GC finished]
[GC for 14262 CONS pages..(T=15).GC finished]
[GC for 14262 CONS pages..(T=16).GC finished]
[GC for 14262 CONS pages..(T=16).GC finished]
[GC for 38 ARRAY pages..(T=16).GC finished]
[GC for 57 ARRAY pages..(T=13).GC finished]
[type 11 max 57(0) opt 178   y 24242(0) gbcrat 0.023141 sav 0.966103]
[GC for 85 ARRAY pages..(T=13).GC finished]
[type 11 max 85(0) opt 282   y 24270(0) gbcrat 0.038735 sav 0.957996]
[GC for 127 ARRAY pages..(T=13).GC finished]
[type 11 max 127(0) opt 388   y 24312(0) gbcrat 0.049071 sav 0.956051]
[GC for 190 ARRAY pages..(T=14).GC finished]
[type 11 max 190(0) opt 506   y 24375(0) gbcrat 0.055903 sav 0.958253]
[GC for 5242 RELOCATABLE-BLOCKS pages..(T=14).GC finished]
[GC for 285 ARRAY pages..(T=13).GC finished]
[type 11 max 285(0) opt 633   y 24470(0) gbcrat 0.058292 sav 0.965454]
start address -T 0x8c63000 start address -T 0xcb7e000 start address -T 
0xcbae000 start address -T 0x8c0e480 start address -T 0x8514028 [GC for 14262 
CONS pages..(T=17).GC finished]
[GC for 14262 CONS pages..(T=16).GC finished]
[GC for 14262 CONS pages..(T=16).GC finished]
[GC for 14262 CONS pages..(T=16).GC finished]
[GC for 14262 CONS pages..(T=16).GC finished]
[GC for 14262 CONS pages..(T=16).GC finished]
[GC for 14262 CONS pages..(T=16).GC finished]
[type 0 max 14262(0) opt 14417   y 24470(0) gbcrat 1.427681 sav 0.999274]
[GC for 14262 CONS pages..(T=16).GC finished]
[type 0 max 14262(0) opt 14670   y 24470(0) gbcrat 1.478276 sav 0.997973]
[GC for 14262 CONS pages..(T=16).GC finished]
[type 0 max 14262(0) opt 14916   y 24470(0) gbcrat 1.528276 sav 0.996576]
[GC for 14262 CONS pages..(T=17).GC finished]
[type 0 max 14262(0) opt 15155   y 24470(0) gbcrat 1.577693 sav 0.995101]
[GC for 14262 CONS pages..(T=16).GC finished]
[type 0 max 14262(0) opt 15388   y 24470(0) gbcrat 1.626537 sav 0.993560]
[GC for 14262 CONS pages..(T=16).GC finished]
[type 0 max 14262(0) opt 15615   y 24470(0) gbcrat 1.674818 sav 0.991966]
[GC for 14262 CONS pages..(T=16).GC finished]
[type 0 max 14262(0) opt 15836   y 24470(0) gbcrat 1.722545 sav 0.990327]
[GC for 14262 CONS pages..(T=17).GC finished]
[type 0 max 14262(0) opt 16051   y 24470(0) gbcrat 1.769728 sav 0.988654]
[GC for 14262 CONS pages..(T=16).GC finished]
[type 0 max 14262(0) opt 16261   y 24470(0) gbcrat 1.816376 sav 0.986953]
[GC for 14262 CONS pages..(T=16).GC finished]
[type 0 max 14262(0) opt 16466   y 24470(0) gbcrat 1.862498 sav 0.985230]
[GC for 14262 CONS pages..(T=16).GC finished]
[type 0 max 14262(0) opt 16667   y 24470(0) gbcrat 1.908103 sav 0.983492]
[GC for 14262 CONS pages..(T=17).GC finished]
[type 0 max 14262(0) opt 16862   y 24470(0) gbcrat 1.953201 sav 0.981743]
[GC for 14262 CONS pages..(T=16).GC finished]
[type 0 max 14262(0) opt 17054   y 24470(0) gbcrat 1.997798 sav 0.979988]
[GC for 14262 CONS pages..(T=17).GC finished]
[type 0 max 14262(0) opt 17241   y 24470(0) gbcrat 2.041903 sav 0.978229]
start address -T 0x8cf9420 [GC for 247 STRING pages..(T=16).GC finished]
[GC for 247 STRING pages..(T=14).GC finished]
[type 13 max 247(0) opt 379   y 24470(0) gbcrat 0.024050 sav 0.990566]
[GC for 247 STRING pages..(T=14).GC finished]
[type 13 max 247(0) opt 507   y 24470(0) gbcrat 0.043069 sav 0.979556]
[GC for 14262 CONS pages..(T=17).GC finished]
[type 0 max 14262(0) opt 16147   y 24470(0) gbcrat 1.791005 sav 0.988389]
start address -T 0x84435c0 [GC for 14262 CONS pages..(T=18).GC finished]
[type 0 max 14262(0) opt 16320   y 24470(0) gbcrat 1.829467 sav 0.987008]
[GC for 14262 CONS pages..(T=17).GC finished]
[type 0 max 14262(0) opt 16489   y 24470(0) gbcrat 1.867570 sav 0.985611]
[GC for 14262 CONS pages..(T=17).GC finished]
[type 0 max 14262(0) opt 16654   y 24470(0) gbcrat 1.905319 sav 0.984201]
[GC for 14262 CONS pages..(T=17).GC finished]
[type 0 max 14262(0) opt 16817   y 24470(0) gbcrat 1.942720 sav 0.982782]
[GC for 14262 CONS pages..(T=17).GC finished]
[type 0 max 14262(0) opt 16977   y 24470(0) gbcrat 1.979776 sav 0.981356]
[GC for 14262 CONS pages..(T=17).GC finished]
[type 0 max 14262(0) opt 17134   y 24470(0) gbcrat 2.016493 sav 0.979926]
[GC for 14262 CONS pages..(T=17).GC finished]
[type 0 max 14262(0) opt 17287   y 24470(0) gbcrat 2.052875 sav 0.978492]
[GC for 14262 CONS pages..(T=17).GC finished]
[type 0 max 14262(0) opt 17439   y 24470(0) gbcrat 2.088928 sav 0.977058]
[GC for 285 ARRAY pages..(T=18).GC finished]
[type 11 max 285(0) opt 552   y 24470(0) gbcrat 0.044244 sav 0.982475]
[GC for 285 ARRAY pages..(T=15).GC finished]
[type 11 max 285(0) opt 644   y 24470(0) gbcrat 0.060272 sav 0.973627]
start address -T 0xcbf4000 [GC for 5242 RELOCATABLE-BLOCKS pages..(T=20).GC 
finished]
start address -T 0xccb0000 start address -T 0xccff000 start address -T 
0xcce2000 start address -T 0x8c4a768 
Successfully finished fm9001-replay.events.
 14262/14262  21.7%      58 CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
   715/764     0.3%       4 FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
   201/324    86.6%       2 SYMBOL STREAM
     1/2      12.8%         PACKAGE
   285/285     0.4%       8 ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
   247/247    34.0%       5 STRING
   661/735     5.3%       4 CFUN BIGNUM
    22/115    99.2%         SFUN GFUN CFDATA SPICE NIL

  2379/2494               1 contiguous (258 blocks)
       422                  hole
       5242    3.2%       8 relocatable

     16394 pages for cells
     24437 total pages
     96151 pages available
     10484 pages in heap but not gc'd + pages needed for gc marking
    131072 maximum pages
real time       :    268.590 secs
run-gbc time    :    239.610 secs
child run time  :     16.870 secs
gbc time        :     10.580 secs

>=============================================================================



Take care,
-- 
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]