[Top][All Lists]

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

[Gcl-devel] Re: Incremental gcc

From: Camm Maguire
Subject: [Gcl-devel] Re: Incremental gcc
Date: 30 Mar 2006 10:49:09 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2


Robert Boyer <address@hidden> writes:

> > In Lisp, compiling is a very incremental process, with many, often
> > thousands of small functions compiled one at a time.
> Whereas in C, say, ...
> I think that the build of GCL 2.7.0 involves over 600 distinct calls of gcc.
> Of course, that's with my particular configuration, which includes
>   --disable-statsysbfd --enable-locbfd

Well, yes, at your site you compile both gmp and bfd along with gcl.
This really isn't a very modular design -- these subtrees are provided
for convenience and ease of maintenance.  Its quite wasteful in system
memory, for example, if many copies of gcl are running and each has
its own bfd and gmp non-shareable in core.  In any case, this is
required at the moment to get beyond 1Gb on 32bit Linux as you are

I've still never seen anything in the world of C which compares to the
>3000 closures compiled by acl2 by default, each of which contain
only a few lines of code.  There is nothing the matter with this, its
just different from the way a C programmer would approach the
problem.  The main difference, IMHO, is that C has the concept of a
"file" which bounds the scope of static variables.  This often governs
data structure layout, in my experience.

(In fact, in case you saw my recent maxima post, maxima follows the
lovely practice of declaring variables with names like 'm as special
in one file, loading, and compiling a bunch of others where 'm is
apparently intended as a lexical.  A C programmer can limit this kind
of damage with the "file" concept.)

Take care,

> Bob

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]