From: Marcus Daniels
Subject: Re: AKCL vs Fortran vs ML time test
Date: 
Message-ID: <MARCUS.94Sep22023747@tdb.ee.pdx.edu>
In-reply-to: ········@coils.cims.nyu.edu's message of 21 Sep 1994 21:48:41 -0400

>>>>> "Mark" == Mark McConnell <········@coils.cims.nyu.edu> writes:
In article <··········@coils.cims.nyu.edu> ········@coils.cims.nyu.edu (Mark McConnell) writes:

Mark> First of all, I was delighted that putting in the proclamations
Mark> and declarations made Version 1 go faster than Version 2.  It
Mark> was a pain to wrap every arithmetic operation in (the fixnum
Mark> ...), but it was worth it!

A few more data points (on a Sparc 2):

Yes, CMU CL plain kicks.
On a Sparc 2 w/32MB CMU:

;CMUCL [with declarations]
;Evaluation took:
;  41.63 seconds of user run time
;  16.75 seconds of system run time
;  [Run times include 23.07 seconds GC run time]
;  99 page faults and

;CMUCL [no declarations]
;  196.43 seconds of user run time
;  17.24 seconds of system run time
;  [Run times include 23.98 seconds GC run time]
;  0 page faults and
;  100150000 bytes consed.

; Allegro CL 4.1 [SPARC; R1] (3/30/93 13:37) [with declarations]
;cpu time (non-gc) 110200 msec user, 533 msec system
;cpu time (gc)     37200 msec user, 350 msec system
;cpu time (total)  147400 msec user, 883 msec system

On a Linux i486/50mhz box with 32MB, GCL, ECL, and CLiCC have very
similar performance.  I'm guessing GCL wins because it has
a more integrated garbage collector.  ECL would really seem to scream
if it were not for the (apparently) slow garbage collector.

[all with declrations]
;GCL (AKCL)
;run time  : 197.140 secs

;CLICC
;204.00user 3.00system

;ECL 
;run time  : 293.640 secs
;GC time   : 248.650 secs

And considering CLISP is byte-compiled, CLISP is quick.
Only a factor of 2 slowdown compared to the native code LISPs.

;CLISP 
;Run time: 396.26 sec.
;Space: 100020000 Bytes
;GC: 191, GC time: 96.3 sec.

Mark> Second, I was shocked that Fortran-style Lisp was more than 5
Mark> times faster than the beautiful, elegant, recursive style of
Mark> Lisp that many of us learned in our computer science courses. 

Subtract off the 23 seconds of garbage collection (100MB!) and 
CMU CL does 34 seconds of total runtime.  On my machine the 
FORTRAN example you gave runs in 10 seconds with (f77 -O3).  

If you have your array-based LISP code handy, it would be interesting
to see how close CMU LISP comes to the FORTRAN.