Lisps



On Wed, 2001-10-31 at 08:59, Camm Maguire wrote:
> If indeed gcl offers certain features which are unique/superior to
> other free alternatives out there, then I for one would be interested
> in helping maintain it, perhaps even coordinating the project.

I hope I didn't sound too discouraging about becoming the new maintainer
for GCL in my previous post on the subject. I really only wanted to
start a discussion.

>  But I
> really don't have enough info to make a fair comparison.  Would some
> kind knowledgeable soul provide a feature/performance summary of
> cmulisp, clisp, and gcl, and post here?

I have a very preliminary set of benchmarks, subject to the following
disclaimers:

0) REALLY BIG DISCLAIMER: I didn't do these tests under controlled
conditions. The results, however, are qualitatively consistent with what
I have seen in the past. Nonetheless, they should be treated with some
skepticism.

1) I don't think these are particularly good. benchmarks. I think it
would be really useful to hear what sort of real calculations people
have done where speed really mattered. I don't have any examples handy.

2) I only consider speed, not memory usage.

The system:

My 900MHz Linux machine.

The benchmarks:

1) expand((x+y+z)^300)$

2) Run the entire maxima test suite.

Result summary (times in seconds):

1) clisp: 161, cmucl: 40, gcl: 147

2) clisp: 7.2, cmucl: 3.3, gcl: 5.8 

The raw results:

clisp:

Benchmark 1:

(C2) expand((x+y+z)^300)$
Evaluation took 161.09 seconds (166.67 elapsed)

Benchmark 2:

Congratulations: No differences!
No Errors Found
Real time: 7.214946f0 sec.
Run time: 7.04f0 sec.
Space: 24513052 Bytes
GC: 36, GC time: 0.74f0 sec.

cmucl:

Benchmark 1:

(C2) expand((x+y+z)^300)$

Evaluation took 40.44 seconds (42.31 elapsed)

Benchmark 2:

Congratulations: No differences!
No Errors Found
Evaluation took:
  3.31f0 seconds of real time
  2.91f0 seconds of user run time
  0.13f0 seconds of system run time
  [Run times include 0.53f0 seconds GC run time]
  5249 page faults and
  33199440 bytes consed.

gcl:

Bench 1:

(C2)  expand((x+y+z)^300)$

Evaluation took 147.61 seconds (156.85 elapsed)


Benchmark 2:

Congratulations: No differences!
No Errors Found
real time : 5.800 secs
run time  : 5.650 secs

--Jim