gcl-devel
[Top][All Lists]
Advanced

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

Re: [Gcl-devel] efficiency of package symbol tables


From: Camm Maguire
Subject: Re: [Gcl-devel] efficiency of package symbol tables
Date: 22 Mar 2004 17:41:41 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!

Bruno Haible <address@hidden> writes:

> Camm Maguire wrote:
>
> > Perhaps you have a suggestion?
> 
> My suggestion would be that the default max-growth-until-GC limit
> of each type of page be a percentage of the *total* number of pages
> in use.
> 

I agree with your analysis.  There is of course the issue of what the
ratios of free pages to total used pages should be per type.  Also how
to handle the contiguous and relocatable pages, which are slightly
different, but workable in principle.

Taking as ratios the initial maxpage per type/the total of this
quantity, and writing the grow criterion as 

        if (tm->tm_nfree == 0 ||
            (((float)tm->tm_nfree/tm->tm_nppage)*tm->tm_fraction < 
PERCENT_FREE(tm) * TOTAL_USED))
/*          ((float)tm->tm_nfree)  <   (PERCENT_FREE(tm) * 
TOTAL_THIS_TYPE(tm))) */


we get the much improved

=============================================================================
[GC for 438 CONTIGUOUS-BLOCKS pages..(T=1).GC finished]

   211/316    40.2%         CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
     2/28     26.6%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
    47/49     72.5%         SYMBOL STREAM
     1/2      14.1%         PACKAGE
     2/38     25.0%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
    16/32     86.9%         STRING
     3/27     97.9%         CFUN BIGNUM
     6/9      87.7%         SFUN GFUN CFDATA SPICE NIL

   438/512                1 contiguous (111 blocks)
       26214                hole
       10485   0.0%         relocatable

       288 pages for cells
     37425 total pages
    204930 pages available
     19789 pages in heap but not gc'd + pages needed for gc marking
    262144 maximum pages
[GC for 49 SYMBOL pages..(T=0).GC finished]
[GC for 32 STRING pages..(T=1).GC finished]
[GC for 73 SYMBOL pages..(T=1).GC finished]
[GC for 48 STRING pages..(T=1).GC finished]
[GC for 109 SYMBOL pages..(T=1).GC finished]
[GC for 27 CFUN pages..(T=1).GC finished]
real time       :      0.140 secs
run-gbc time    :      0.070 secs
child run time  :      0.000 secs
gbc time        :      0.050 secs
[GC for 438 CONTIGUOUS-BLOCKS pages..(T=1).GC finished]

   211/316    54.2%         CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
     7/28      7.6%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
   145/163    84.5%       3 SYMBOL STREAM
     1/2      14.1%         PACKAGE
     2/38     25.0%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
    67/72     20.8%       2 STRING
    27/40     10.9%       1 CFUN BIGNUM
     6/9      87.7%         SFUN GFUN CFDATA SPICE NIL

   438/512                2 contiguous (112 blocks)
       26214                hole
       10485   0.3%         relocatable

       466 pages for cells
     37603 total pages
    204752 pages available
     19789 pages in heap but not gc'd + pages needed for gc marking
    262144 maximum pages
[GC for 163 SYMBOL pages..(T=2).GC finished]
[GC for 72 STRING pages..(T=1).GC finished]
[GC for 244 SYMBOL pages..(T=2).GC finished]
real time       :      0.130 secs
run-gbc time    :      0.070 secs
child run time  :      0.000 secs
gbc time        :      0.050 secs
[GC for 438 CONTIGUOUS-BLOCKS pages..(T=2).GC finished]

   211/316    68.1%         CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
     9/28      5.9%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
   244/366    86.5%       5 SYMBOL STREAM
     1/2      14.1%         PACKAGE
     2/38     25.0%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
    86/108    16.2%       3 STRING
    35/40      8.4%       1 CFUN BIGNUM
     6/9      87.7%         SFUN GFUN CFDATA SPICE NIL

   438/512                3 contiguous (112 blocks)
       26214                hole
       10485   0.6%         relocatable

       594 pages for cells
     37731 total pages
    204624 pages available
     19789 pages in heap but not gc'd + pages needed for gc marking
    262144 maximum pages
[GC for 40 CFUN pages..(T=2).GC finished]
[GC for 108 STRING pages..(T=3).GC finished]
real time       :      0.120 secs
run-gbc time    :      0.070 secs
child run time  :      0.000 secs
gbc time        :      0.050 secs
[GC for 438 CONTIGUOUS-BLOCKS pages..(T=3).GC finished]

   211/316    82.0%         CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    11/28      4.9%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
   346/366    86.6%       5 SYMBOL STREAM
     1/2      14.1%         PACKAGE
     2/38     25.0%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
   108/162    12.9%       4 STRING
    45/60      6.5%       2 CFUN BIGNUM
     6/9      87.7%         SFUN GFUN CFDATA SPICE NIL

   438/512                4 contiguous (112 blocks)
       26214                hole
       10485   0.8%         relocatable

       730 pages for cells
     37867 total pages
    204488 pages available
     19789 pages in heap but not gc'd + pages needed for gc marking
    262144 maximum pages
[GC for 366 SYMBOL pages..(T=3).GC finished]
real time       :      0.090 secs
run-gbc time    :      0.060 secs
child run time  :      0.000 secs
gbc time        :      0.030 secs
[GC for 438 CONTIGUOUS-BLOCKS pages..(T=4).GC finished]

   240/316    84.3%         CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    13/28      4.1%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
   444/549    87.4%       6 SYMBOL STREAM
     1/2      14.1%         PACKAGE
     2/38     25.0%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
   126/162    11.0%       4 STRING
    53/60      5.5%       2 CFUN BIGNUM
     6/9      87.7%         SFUN GFUN CFDATA SPICE NIL

   438/512                5 contiguous (112 blocks)
       26214                hole
       10485   1.1%         relocatable

       885 pages for cells
     38022 total pages
    204333 pages available
     19789 pages in heap but not gc'd + pages needed for gc marking
    262144 maximum pages
[GC for 60 CFUN pages..(T=4).GC finished]
real time       :      0.100 secs
run-gbc time    :      0.050 secs
child run time  :      0.000 secs
gbc time        :      0.040 secs
[GC for 438 CONTIGUOUS-BLOCKS pages..(T=5).GC finished]

   269/316    86.1%         CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    13/28      4.1%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
   516/549    92.4%       6 SYMBOL STREAM
     1/2      14.1%         PACKAGE
     2/38     25.0%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
   141/162     9.9%       4 STRING
    60/90      4.9%       3 CFUN BIGNUM
     6/9      87.7%         SFUN GFUN CFDATA SPICE NIL

   438/512                6 contiguous (112 blocks)
       26214                hole
       10485   1.4%         relocatable

      1008 pages for cells
     38145 total pages
    204210 pages available
     19789 pages in heap but not gc'd + pages needed for gc marking
    262144 maximum pages
[GC for 549 SYMBOL pages..(T=3).GC finished]
real time       :      0.110 secs
run-gbc time    :      0.070 secs
child run time  :      0.000 secs
gbc time        :      0.030 secs
[GC for 438 CONTIGUOUS-BLOCKS pages..(T=5).GC finished]

   296/316    88.1%         CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    13/28      4.1%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
   618/823    91.4%       7 SYMBOL STREAM
     1/2      14.1%         PACKAGE
     2/38     25.0%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
   141/162     9.9%       4 STRING
    60/90      4.9%       3 CFUN BIGNUM
     6/9      87.7%         SFUN GFUN CFDATA SPICE NIL

   438/512                7 contiguous (112 blocks)
       26214                hole
       10485   1.7%         relocatable

      1137 pages for cells
     38274 total pages
    204081 pages available
     19789 pages in heap but not gc'd + pages needed for gc marking
    262144 maximum pages
[GC for 316 CONS pages..(T=5).GC finished]
real time       :      0.160 secs
run-gbc time    :      0.100 secs
child run time  :      0.000 secs
gbc time        :      0.050 secs
[GC for 502 CONTIGUOUS-BLOCKS pages..(T=7).GC finished]

   316/474    91.8%       1 CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    13/28      4.1%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
   691/823    94.6%       7 SYMBOL STREAM
     1/2      14.1%         PACKAGE
     2/38     25.0%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
   141/162     9.9%       4 STRING
    60/90      4.9%       3 CFUN BIGNUM
     6/9      87.7%         SFUN GFUN CFDATA SPICE NIL

   502/512                8 contiguous (113 blocks)
       26214                hole
       10485   2.0%         relocatable

      1230 pages for cells
     38431 total pages
    203924 pages available
     19789 pages in heap but not gc'd + pages needed for gc marking
    262144 maximum pages
[GC for 162 STRING pages..(T=5).GC finished]
real time       :      0.120 secs
run-gbc time    :      0.080 secs
child run time  :      0.000 secs
gbc time        :      0.050 secs
[GC for 502 CONTIGUOUS-BLOCKS pages..(T=7).GC finished]

   367/474    87.1%       1 CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    15/28      3.6%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
   802/823    92.5%       7 SYMBOL STREAM
     1/2      14.1%         PACKAGE
     2/38     25.0%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
   162/162     8.6%       5 STRING
    69/90      4.3%       3 CFUN BIGNUM
     6/9      87.7%         SFUN GFUN CFDATA SPICE NIL

   502/512                9 contiguous (113 blocks)
       26214                hole
       10485   2.2%         relocatable

      1424 pages for cells
     38625 total pages
    203730 pages available
     19789 pages in heap but not gc'd + pages needed for gc marking
    262144 maximum pages
[GC for 823 SYMBOL pages..(T=6).GC finished]
real time       :      0.130 secs
run-gbc time    :      0.080 secs
child run time  :      0.000 secs
gbc time        :      0.060 secs
[GC for 502 CONTIGUOUS-BLOCKS pages..(T=8).GC finished]

   382/474    91.3%       1 CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    15/28      3.6%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
   880/1234   94.4%       8 SYMBOL STREAM
     1/2      14.1%         PACKAGE
     2/38     25.0%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
   162/162     8.6%       5 STRING
    69/90      4.3%       3 CFUN BIGNUM
     6/9      87.7%         SFUN GFUN CFDATA SPICE NIL

   502/512               10 contiguous (113 blocks)
       26214                hole
       10485   2.5%         relocatable

      1517 pages for cells
     38718 total pages
    203637 pages available
     19789 pages in heap but not gc'd + pages needed for gc marking
    262144 maximum pages
[GC for 162 STRING pages..(T=8).GC finished]
real time       :      0.160 secs
run-gbc time    :      0.070 secs
child run time  :      0.000 secs
gbc time        :      0.080 secs
[GC for 502 CONTIGUOUS-BLOCKS pages..(T=7).GC finished]

   426/474    88.8%       1 CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    16/28      3.3%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
   980/1234   93.8%       8 SYMBOL STREAM
     1/2      14.1%         PACKAGE
     2/38     25.0%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
   162/162     8.6%       6 STRING
    69/90      4.3%       3 CFUN BIGNUM
     6/9      87.7%         SFUN GFUN CFDATA SPICE NIL

   502/512               11 contiguous (113 blocks)
       26214                hole
       10485   2.8%         relocatable

      1662 pages for cells
     38863 total pages
    203492 pages available
     19789 pages in heap but not gc'd + pages needed for gc marking
    262144 maximum pages
[GC for 162 STRING pages..(T=8).GC finished]
real time       :      0.140 secs
run-gbc time    :      0.070 secs
child run time  :      0.000 secs
gbc time        :      0.080 secs
[GC for 502 CONTIGUOUS-BLOCKS pages..(T=10).GC finished]

   455/474    89.6%       1 CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    16/28      3.3%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
  1068/1234   94.3%       8 SYMBOL STREAM
     1/2      14.1%         PACKAGE
     2/38     25.0%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
   162/162     8.6%       7 STRING
    69/90      4.3%       3 CFUN BIGNUM
     6/9      87.7%         SFUN GFUN CFDATA SPICE NIL

   502/512               12 contiguous (113 blocks)
       26214                hole
       10485   3.1%         relocatable

      1779 pages for cells
     38980 total pages
    203375 pages available
     19789 pages in heap but not gc'd + pages needed for gc marking
    262144 maximum pages
[GC for 474 CONS pages..(T=8).GC finished]
real time       :      0.160 secs
run-gbc time    :      0.070 secs
child run time  :      0.000 secs
gbc time        :      0.080 secs
[GC for 502 CONTIGUOUS-BLOCKS pages..(T=10).GC finished]

   474/711    92.2%       2 CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    16/28      3.3%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
  1134/1234   96.7%       8 SYMBOL STREAM
     1/2      14.1%         PACKAGE
     2/38     25.0%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
   162/162     8.6%       7 STRING
    69/90      4.3%       3 CFUN BIGNUM
     6/9      87.7%         SFUN GFUN CFDATA SPICE NIL

   502/512               13 contiguous (113 blocks)
       26214                hole
       10485   3.4%         relocatable

      1864 pages for cells
     39065 total pages
    203290 pages available
     19789 pages in heap but not gc'd + pages needed for gc marking
    262144 maximum pages
[GC for 1234 SYMBOL pages..(T=9).GC finished]
real time       :      0.160 secs
run-gbc time    :      0.070 secs
child run time  :      0.000 secs
gbc time        :      0.090 secs
[GC for 502 CONTIGUOUS-BLOCKS pages..(T=11).GC finished]

   508/711    91.8%       2 CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    16/28      3.3%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
  1234/1851   96.0%       9 SYMBOL STREAM
     1/2      14.1%         PACKAGE
     2/38     25.0%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
   162/162     8.6%       7 STRING
    69/90      4.3%       3 CFUN BIGNUM
     6/9      87.7%         SFUN GFUN CFDATA SPICE NIL

   502/512               14 contiguous (113 blocks)
       26214                hole
       10485   3.6%         relocatable

      1998 pages for cells
     39199 total pages
    203156 pages available
     19789 pages in heap but not gc'd + pages needed for gc marking
    262144 maximum pages
[GC for 502 CONTIGUOUS-BLOCKS pages..(T=12).GC finished]
[GC for 162 STRING pages..(T=11).GC finished]
real time       :      0.370 secs
run-gbc time    :      0.140 secs
child run time  :      0.000 secs
gbc time        :      0.230 secs
[GC for 630 CONTIGUOUS-BLOCKS pages..(T=15).GC finished]

   544/711    91.1%       2 CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
    17/28      3.1%         FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE 
NIL
  1343/1851   94.8%       9 SYMBOL STREAM
     1/2      14.1%         PACKAGE
     2/38     25.0%         ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME 
CCLOSURE FAT-STRING
   162/162     8.6%       8 STRING
    69/90      4.3%       3 CFUN BIGNUM
     6/9      87.7%         SFUN GFUN CFDATA SPICE NIL

   630/768               16 contiguous (113 blocks)
       26214                hole
       10485   3.9%         relocatable

      2144 pages for cells
     39473 total pages
    202882 pages available
     19789 pages in heap but not gc'd + pages needed for gc marking
    262144 maximum pages
[GC for 162 STRING pages..(T=11).GC finished]
real time       :      0.180 secs
run-gbc time    :      0.070 secs
child run time  :      0.000 secs
gbc time        :      0.110 secs
NIL
=============================================================================

This isn't quite ready for showtime yet, as the condition is triggered
on first test due to the fact that it was set from a ratio of free
pages and used against a ratio of free to total used pages.  Also, the
grow minimum should likely be set to the minimum amount necessary to
avoid triggering the test on next iteration.

Comments appreciated.

Take care,


> Bruno
> 
> 
> 
> 

-- 
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]