From: Bruce Tobin
Subject: Performance Comparison: Lisp, Smalltalk, Dylan, Java
Date: 
Message-ID: <350AA950.E98E104@infinet.com>
    I have written a small  application the same way (as far as
possible) in Java, Dylan, Common Lisp, and Smalltalk.  The application
is a simple version of the CN2 rule induction algorithm.  The source
code for each version  is available at:

      www.infinet.com/~btobin/perf.html

    The timings for each (5 trials):
    Java (VJ++ 6.0 preview):
        1       9.483 seconds
        2       10.856 seconds
        3       10.896 seconds
        4       9.234 seconds
        5       9.063 seconds

    Lisp (ACL/Win3.02):
         1      11.997 seconds
         2      11.557 seconds
         3      11.397 seconds
         4      11.686 seconds
         5      11.476 seconds

    Dylan (Harlequin Dylan 1.0 beta 2):
        1       6.965591 seconds
        2       7.729048 seconds
        3       7.093233 seconds
        4       7.170502 seconds
        5       7.785091 seconds

    Smalltalk (Smalltalk MT 1.5 beta 3): 10.3 seconds.
        1      8.422 seconds
        2      8.492 seconds
        3      8.301 seconds
        4      8.492 seconds
        5      8.352 seconds

    Your advice on speeding up the Lisp code is solicited, but I think
my biggest problem is the fact that I'm using ACL/Win 3.02 instead of
ACL 4.3 for NT.  Can someone who has both versions run the code in each
for me and report on the difference?  You'll need to add (type) and
(optimize) hints to the code where appropriate (primarily the specialise
function and those it calls), and substitute +, = and > for i+, i=, and
i> where the latter occur.

Thanks.

From: Bruce Tobin
Subject: Re: Performance Comparison: Lisp, Smalltalk, Dylan, Java
Date: 
Message-ID: <350BD400.B2B42684@infinet.com>
Bruce Tobin wrote:

>     Lisp (ACL/Win3.02):
>          1      11.997 seconds
>          2      11.557 seconds
>          3      11.397 seconds
>          4      11.686 seconds
>          5      11.476 seconds
>
>     Your advice on speeding up the Lisp code is solicited, but I think
> my biggest problem is the fact that I'm using ACL/Win 3.02 instead of
> ACL 4.3 for NT.

Further evidence: I've run it now under ACL 4.3 for Linux.  The times:

1          2.624 seconds
2          2.524 seconds
3          2.515 seconds
4          2.525 seconds
5          2.510 seconds

Does anyone know how ACL 4.3 performance on WinNT compares to ACL 4.3
performance on Linux on the same machine?
From: Pierre Mai
Subject: Re: Performance Comparison: Lisp, Smalltalk, Dylan, Java
Date: 
Message-ID: <m3pvjnn20n.fsf@torus.cs.tu-berlin.de>
>>>>> "BT" == Bruce Tobin <······@infinet.com> writes:

    BT> Bruce Tobin wrote:

    >> Lisp (ACL/Win3.02): 1 11.997 seconds 2 11.557 seconds 3 11.397
    >> seconds 4 11.686 seconds 5 11.476 seconds
    >> 
    >> Your advice on speeding up the Lisp code is solicited, but I
    >> think my biggest problem is the fact that I'm using ACL/Win
    >> 3.02 instead of ACL 4.3 for NT.

    BT> Further evidence: I've run it now under ACL 4.3 for Linux.
    BT> The times:

    BT> 1 2.624 seconds 2 2.524 seconds 3 2.515 seconds 4 2.525
    BT> seconds 5 2.510 seconds

    BT> Does anyone know how ACL 4.3 performance on WinNT compares to
    BT> ACL 4.3 performance on Linux on the same machine?

No, but I think this shouldn't differ by much...

But with concerns to optimizing it:

Inserting more type declarations should probably help a little, since
you are consing a bit.  Taking a look at the optimization notes of
CMUCL on Linux should provide hints where to look further.  Profiling
it should also help quite a lot in finding out, _where_ to start
optimizing. 

Regs, Pierre.

BTW: I get around 6 secs runtime on my machine in ACL4.3 Linux, so it
seems, my machine is around 3 times slower than yours ;) But then
againg it's only a lowly AMD5x86-133 ;)

-- 
Pierre Mai <····@cs.tu-berlin.de>	http://home.pages.de/~trillian/
  "Such is life." -- Fiona in "Four Weddings and a Funeral" (UK/1994)
From: Bruce Tobin
Subject: Re: Performance Comparison: Lisp, Smalltalk, Dylan, Java
Date: 
Message-ID: <35155006.50C0DABC@infinet.com>
Pierre Mai wrote:

>     BT> Does anyone know how ACL 4.3 performance on WinNT compares to
>     BT> ACL 4.3 performance on Linux on the same machine?
>
> No, but I think this shouldn't differ by much...

Jim Veitch of Franz tells me the NT version (which is of somewhat later
vintage) is actually faster.  I'm still trying to figure out a way to get
some numbers which confirm this.

> Inserting more type declarations should probably help a little, since
> you are consing a bit.

I'd think so, too, but the type declarations I've tried haven't helped a
bit.  OTOH with times this good I'm not complaining (at least until I
finish the C++ version).