GCL

See the installation instructions for basic information about building ACL2
on top of GCL, including information about where to fetch GCL. Here, we
provide some tips that may be useful.

1. You can place forms to evaluate at start-up into file init.lsp in the
directory where you are starting ACL2 (GCL), or into file acl2-init.lsp
in your home directory. For example, in order to evaluate both of the lisp
forms mentioned in 2 below, you could put them both into init.lsp in the
current directory or in ~/acl2-init.lsp (either way, without (lp) or
:q):

(setq si::*optimize-maximum-pages* nil)
(si::allocate 'cons 75000 t)

2. Suppose you run out of space, for example with an error like this:

Error: The storage for CONS is exhausted.
Currently, 59470 pages are allocated.
Use ALLOCATE to expand the space.

The following suggestion from Camm Maguire will minimize the heap size, at
the cost of more garbage collection time.

4. It is possible to profile using ACL2 built on GCL. See file
save-gprof.lsp in the ACL2 source directory.

5. Some versions of GCL may have garbage-collector bugs that, on rare
occasions, cause ACL2 (when built on GCL) to break. If you run into this,
a solution may be to execute the following:

:q
(si::sgc-on nil)
(lp)

Alternatively, put (si::sgc-on nil) in your ~/acl2-init.lsp file.

A full regression test and found that this decreased performance by about
10%. But even with that, GCL may be the fastest Common Lisp for ACL2 on
Linux (performance figures may often be found by following the ``Recent
changes'' link on the ACL2 home page).