[Maxima] [sage-devel] compiling Maxima by ECL
michael.abshoff at googlemail.com
Sun Apr 27 18:00:15 CDT 2008
Richard Fateman wrote:
> Hi Michael:
> Out of curiosity, I visited the ECL home page.
It is my understand that the sf website is mostly out of date, so I
never took a closer look. The current state can be found in a
> I would be fairly surprised if this worked well for Maxima, for SAGE, in
> spite of some signs of life.
The paramount reason to attempt to go with ecl instead of gcl or clisp
[only self-hosted, build from source, Open Source lisps need apply :)]
was that it has compiler support for all our current and intended port
targets. gcl has build issues galore [2.6.8cvs as well as 2.7cvs], clisp
has problems with gcc 4.2 and 4.3, but that was discussed at great
length in the recent "Project" thread in sage-devel.
> It is based on "a bytecodes compiler and interpreter". with a translator to
> C. It uses the Gnu Multiprecision
> Library, which suggests to me that all short-integer arithmetic, the most
> common kind,
> will be slow and bulky.
Probably, but for the above reasons we do not have a whole lot of
choice. So the Sage project prefers a working common lisp implementation
that is slower in relative terms to a non-working much faster one. We do
not want the user to provide some common lisp implementation since a lot
of non-technical users, especially on Windows, would then take a look at
Sage and move on to the next system.
> The benchmark section says the competitive CLISP is astonishingly fast in
> comparison with ECL.
Those numbers seem to be outdated. The above linked presentation has
some comparisons IIRC of more current code. A couple months back Waldek
Herbish started building FriCAS on top of ecl and over the course of a
couple weeks ecl's performance for pretty printing code and some other
things was improved dramatically. So I am convinced that the ecl
maintainer [Juan, whom I CCed] is more than interested in solving any
performance issue and while he might be busy with his own work other
people have supplied patches to solve performance problems. So IMHO
there is much more life in the ecl community than the other open source
Right now about 2/3rds of the downloads of Sage seem to be by Windows
users and as Sage will hopefully be used by more and more less technical
people the ratio will likely go up. Download statistics from sf for
Maxima indicate that the vast majority of Maxima users who download
Maxima directly actually use Windows [the ratio seems to be about 10:1
last time I looked], so I consider a well working lisp on Windows
important. Obviously many people on Linux or *BSD use the
distribution/ports provided Maxima, so they never show up at the sf
download statistics, but if 40,000 people chose to download Maxima for
Windows it seems to me that a substantial number of Maxima users are on
Windows, so it ought to be well supported, even if they were to
represent only a small percentage of overall Maxima users.
> It has a "simple conservative mark & sweep garbage collector" which means
> it will be very bad for
> long-running jobs.
The garbage collector in the current ecl release is pluggable and boehm
is used per default [IIRC it is the only choice at the moment]. I am
fairly clueless about the different garbage collection libraries out
there, so I do not know how boehm compares to what you would expect. It
was my impression that boehm is widely used, but that obviously wouldn't
make it a good implementation ;).
> It seems to be lacking tools for collecting information on memory use etc.
Judging from the presentation it is possible. But I know too little to
form an informed opinion.
> Of course, with enough effort anything can be made from anything in a Turing
>> -----Original Message-----
>> From: maxima-bounces at math.utexas.edu
>> [mailto:maxima-bounces at math.utexas.edu] On Behalf Of Michael.Abshoff
>> Sent: Saturday, April 26, 2008 8:53 PM
>> To: sage-devel at googlegroups.com
>> Cc: ecls-list at lists.sourceforge.net; maxima list
>> Subject: Re: [Maxima] [sage-devel] compiling Maxima by ECL
>> Robert Dodier wrote:
>>> I have gotten Maxima (current CVS head + ECL-specific changes)
>>> compiled by ECL (current CVS head, release 0.9j won't work).
>>> I committed the ECL-specific stuff on the branch
>> .... snip
More information about the Maxima