[Ecls-list] More about NIL

Juan Jose Garcia-Ripoll jjgarcia at users.sourceforge.net
Tue Mar 11 20:51:13 UTC 2008

On Sun, Mar 9, 2008 at 5:03 PM, Juan Jose Garcia-Ripoll
<jjgarcia at users.sourceforge.net> wrote:
> 2) I have not yet discovered how to allocate less than 16 bits per
>  object using the Boehm-Weiser garbage collector. This means in
>  practice TIME reports the same about of bytes consed for any routine
>  using lists.

The guys in the Boehm-Weiser mailing list answered this question. By
setting  GC_all_interior_pointers=0 we tell the garbage collector not
to add any bytes at the end of an object. This does not seem to
destabilize the environment, but puts some constraints on the user of
the lisp. Good news are, first, that the change can be undone at run
time and, second, that it does improve both speeds and memory
requirements. Below I show the times for running Paul Dietz's test
suite. What is not shown is that the resident size of ECL is 100MB in
the old case and 40MB with the new code.


==> With large conses <==
real time : 658.814 secs
run time  : 449.170 secs
gc count  : 550 times
consed    : 7850670852 bytes

==> With GC_all_interior_pointers = 0 <==
real time : 572.967 secs
run time  : 396.084 secs
gc count  : 647 times
consed    : 5325200048 bytes

Facultad de Fisicas, Universidad Complutense,
Ciudad Universitaria s/n Madrid 28040 (Spain)

More information about the ecl-devel mailing list